Firestoreにはこれがあります。Firebase:Firestore:Realtime Databaseで見つかったChildEventListenerに相当するもの
FirebaseFirestore db = FirebaseFirestore.getInstance();
CollectionReference ref = db.collection("app/appdata/notifications");
ref.addSnapshotListener((snapshot, e) -> {
if (e != null) {
Log.w(TAG, "Listen failed.", e);
return;
}
for (DocumentSnapshot x : snapshot.getDocuments()) {
System.out.println(x.getData());
}
});
しかし、私はそのループを使用したくありませんが、代わりに新しい子のみを取得する必要があります。 Realtime Dbに見られるような、次のようなものが欲しいです。
ref.addChildEventListener(new ChildEventListener() {
@Override
public void onChildAdded(DataSnapshot dataSnapshot, String prevChildKey) {
Post newPost = dataSnapshot.getValue(Post.class);
System.out.println("Author: " + newPost.author);
System.out.println("Title: " + newPost.title);
System.out.println("Previous Post ID: " + prevChildKey);
}
@Override
public void onChildChanged(DataSnapshot dataSnapshot, String prevChildKey) {}
@Override
public void onChildRemoved(DataSnapshot dataSnapshot) {}
@Override
public void onChildMoved(DataSnapshot dataSnapshot, String prevChildKey) {}
@Override
public void onCancelled(DatabaseError databaseError) {}
});
また、Firestoreでは、すべてのデータがドキュメント(基本的にキー値ストア)とコレクション(ドキュメントのコレクション)で構成されています。 Realtime DatabaseとFirestoreの両方には基本的な違いがあります。 –