Я использую событие OnChildAdded для получения всех данных из базы данных на Android.FireBase OnChildAdded не вызывается на Android
Впервые и много позже, он работает хорошо. Но что-то, onChildAdded больше не звонит старому ребенку. Удаление и установка приложения снова заставляют его работать снова.
Я проверил разрешение и добавил событие. Я не знаю, что случилось, и что нужно сделать, чтобы исправить это.
Этот код, я использую для инициализации
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());
}
};
Тогда я добавить событие здесь
Log.i(TAG, "Add Child Event Listener");
prayersRef.addChildEventListener(prayersListener);
Вы можете разместить свой код? – Pietu1998
Yup. Отредактировано .... –
где вы добавляете слушателя? В каком жизненном цикле? – Skye