¿Cómo guardar en la base de datos en firebase por usuario logeado? Android Studio

publicado por: Anonymous
public class Cobranza extends AppCompatActivity{
EditText ET_numero,ET_abono,ET_notas;
Button button;
@Override
protected void onCreate(Bundle savedInstancesState){
    super.onCreate(savedInstancesState);
    setContentView(R.layout.cobranza);
    ET_numero =(EditText) findViewById(R.id.ET_numero);
    ET_abono =(EditText) findViewById(R.id.ET_abono);
    ET_notas =(EditText) findViewById(R.id.ET_notas);


    button = (Button) findViewById(R.id.button);
}

DatabaseReference mDatabase = FirebaseDatabase.getInstance().getReference().child("User_01");




public void GuardarDatos (View view) {
    //int numero = Integer.parseInt(ET_numero.getText().toString());
    String numero =ET_numero.getText().toString();
    //float abono = Float.parseFloat(ET_abono.getText().toString());
    String abono =ET_abono.getText().toString();
    String notas =ET_notas.getText().toString();

    BaseHelper baseHelper = new BaseHelper(this,"DEMODB",null,1);
    SQLiteDatabase db = baseHelper.getWritableDatabase();
    if (db!=null){
        ContentValues registronuevo = new ContentValues();
        registronuevo.put("Numero",numero);
        registronuevo.put("Abono",abono);
        registronuevo.put("Notas",notas);
        long i = db.insert("Personas",null,registronuevo);
        if(i>0){
            Toast.makeText(this,"Registro Insertado", Toast.LENGTH_SHORT).show();

        }


    }
    //acá modificamos lo que queramos para los chills de la base de datos
    // mDatabase.child("cuenta").setValue(cuentaa); ese se usa para que sea por nombre y no por clave aleatória
    String cuentaa = ET_numero.getText().toString().trim();
    mDatabase.push().setValue(cuentaa);
    String abonoo = ET_abono.getText().toString().trim();
    mDatabase.push().setValue(abonoo);
    String notass = ET_notas.getText().toString().trim();
    mDatabase.push().setValue(notass);


}

Hasta este momento te puedes loguear en la app y guarda de manera local y manda a firebase pero de manera anónima, no por usuario

¿Cómo puedo hacer que mande por usuario logueado y se separe por usuario?

solución

En este caso lo que tienes que hacer es usar el id de usuario como parte de la dirección de la referencia de Firebase, en tu caso sería:

DatabaseReference mDatabase = FirebaseDatabase.getInstance().getReference().child("<id_usuario>");

En caso de que estes usando Fireabase Auth para el login puedes usar:

FirebaseAuth.getInstance().getCurrentUser();
Respondido por: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *