Dies ist mein Code zum Hinzufügen von Personenobjekt in Firebase.So holen Sie alle Daten nach dem Hinzufügen neuer Daten in der Firebase-Datenbank
FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference myRef = database.getReference("Person");
buttonSave.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
String name = editTextName.getText().toString().trim();
String address = editTextAddress.getText().toString().trim();
//Creating Person object
Person person = new Person();
person.setName(name);
person.setAddress(address);
new Firebase(Config.FIREBASE_URL).child("Person").push().setValue(person);
}
});
myRef.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot postSnapshot : dataSnapshot.getChildren()) {
//Getting the data from snapshot
Person person = postSnapshot.getValue(Person.class);
//Adding it to a string
String string = "Name: " + person.getName() + "\nAddress: " + person.getAddress() + "\n\n";
//Displaying it on textview
textViewPersons.setText(string);
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
System.out.println("The read failed: " + databaseError.getMessage());
}
});
Das Hinzufügen von Daten funktioniert gut und jeder fügt einen neuen Schlüssel für die Person hinzu.
Aber addValueEventListener zeigt mir nur zuletzt hinzugefügten Eintrag. Ich möchte alle Einträge Daten.
Kann mir jemand dabei helfen?
Haben Sie überprüfen, ob Sie alle 'ersetzten myRef 's zufrieden mit der neuen Person? – Sunshinator