J'ai ceci pour Firestore.Firebase: Firestore: Quel est l'équivalent de ChildEventListener trouvé dans la base de données en temps réel
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());
}
});
Mais je ne veux pas utiliser cette boucle, mais je n'ai besoin que des nouveaux enfants. Je voudrais quelque chose comme ce qui suit vu dans le 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) {}
});
Toujours dans Firestore, toutes vos données se composent de documents (qui sont essentiellement des magasins de valeurs-clés) et de collections (qui sont des collections de documents). Donc, la base de données en temps réel et Firestore ont des différences fondamentales. –