Firestore 不同于实时数据库,您应该在此处阅读文档:
https://firebase.google.com/docs/firestore/quickstart
但addValueEventListener 的等价物是get()
来自文档:
public Task<DocumentSnapshot> get ()
读取此 DocumentReference 引用的文档。
您可以检索某个集合内的所有文档,例如:
db.collection("Working")
.get()
.addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
@Override
public void onComplete(@NonNull Task<QuerySnapshot> task) {
if (task.isSuccessful()) {
for (QueryDocumentSnapshot document : task.getResult()) {
Log.d(TAG, document.getId() + " => " + document.getData());
}
} else {
Log.d(TAG, "Error getting documents: ", task.getException());
}
}
});
为了能够使用 firestore 实时检索数据,您可以执行以下操作:
final DocumentReference docRef = db.collection("cities").document("SF");
docRef.addSnapshotListener(new EventListener<DocumentSnapshot>() {
@Override
public void onEvent(@Nullable DocumentSnapshot snapshot,
@Nullable FirebaseFirestoreException e) {
if (e != null) {
Log.w(TAG, "Listen failed.", e);
return;
}
if (snapshot != null && snapshot.exists()) {
Log.d(TAG, "Current data: " + snapshot.getData());
} else {
Log.d(TAG, "Current data: null");
}
}
});
更多信息在这里:
https://firebase.google.com/docs/firestore/query-data/listen