私のアプリは、ユーザーと管理の2つのセクションに分かれています。管理者はfirebase db/nodeに新しい項目を追加/削除することができ、ユーザアプリケーションに反映されます。ユーザーのアプリケーションが常に開いていて、下のコードでリストを更新しているとします。ファイアベースDBにどのエントリが追加されたかを知るには?
mFirebaseDatabase.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
arrayList.clear();
for (DataSnapshot dataSnapshotChild : dataSnapshot.getChildren()) {
for (DataSnapshot snapshot : dataSnapshotChild.getChildren()) {
Log.v("onDataChange", ":" + snapshot.getValue());
Model model = new Model();
model.setReceivedServiceCategory(dataSnapshotChild.getKey());
model.setKey(snapshot.getKey());
model.setReceivedFrom((String) snapshot.child("xxxxx").getValue());
model.setRaisedAtTimings((String) snapshot.child("xxxxx").getValue());
model.setReceivedStatus((String) snapshot.child("xxxx").getValue());
arrayList.add(model);
}
}
loadDataToRecyclerView();
}
@Override
public void onCancelled(DatabaseError databaseError) {
Log.v("DatabaseError", databaseError.getMessage());
}
});
私の問題は、firebase db/nodeに新しく追加されたエントリに対してポップアップを表示することです。今は、最新のリストを見ることができますが、同時に追加された最新のエントリを強調したいと思います。また、古い&の最新のリストを比較したくない場合は、firebaseが提供する他の適切な方法があれば、2つのリストを比較する以外に解決策を教えてください。
ありがとうございます。 – VVB
初めての呼び出しのようです – VVB
'ChildEventListener'には、子ノードのライフサイクルで発生する様々な瞬間に呼び出される4つのメソッドがあります:それは追加、変更、削除、またはコレクション/クエリの別の位置に移動します。 –