Ich verwende OnChildAdded Ereignis für alle Daten aus der Datenbank auf Android erhalten.FireBase OnChildAdded nicht auf Android
Das erste Mal und viele Zeit später funktioniert es gut. Aber etwas, onChildAdded nicht mehr Anruf für altes Kind sein. Deinstallieren Sie die App und installieren Sie sie erneut, damit sie wieder funktioniert.
Ich überprüft Erlaubnis und Ereignis hinzugefügt. Ich weiß nicht, was falsch ist und was zu tun ist, um es zu beheben.
Dieser Code verwende ich für init
prayersRef = database.child("prayers");
Log.w(TAG, "FireBaseDatabaseManager");
prayersListener = new ChildEventListener() {
@Override
public void onChildAdded(DataSnapshot dataSnapshot, String previousChildName) {
Prayer prayer = dataSnapshot.getValue(Prayer.class);
prayer.uid = dataSnapshot.getKey();
Log.w(TAG, "onChildAdded:" + prayer.uid);
if (delegate != null) {
delegate.OnPrayerAdded(prayer);
}
}
@Override
public void onChildChanged(DataSnapshot dataSnapshot, String previousChildName) {
Log.w(TAG, "onChildChanged:" + dataSnapshot.getKey());
}
@Override
public void onChildRemoved(DataSnapshot dataSnapshot) {
Log.w(TAG, "onChildRemoved:" + dataSnapshot.getKey());
}
@Override
public void onChildMoved(DataSnapshot dataSnapshot, String previousChildName) {
Log.w(TAG, "onChildMoved:" + dataSnapshot.getKey());
}
@Override
public void onCancelled(DatabaseError databaseError) {
Log.w(TAG, "onCancelled", databaseError.toException());
}
};
Dann Ereignis in füge ich hier
Log.i(TAG, "Add Child Event Listener");
prayersRef.addChildEventListener(prayersListener);
Können Sie Ihren Code schreiben? – Pietu1998
Yup. Bearbeitet .... –
wo fügen Sie Listener hinzu? In welcher Lebenszyklusmethode? – Skye