gpt4 book ai didi

java - firestore 中的等效 addValueEventListener 是什么

转载 作者:行者123 更新时间:2023-12-02 10:04:21 24 4
gpt4 key购买 nike

我正在尝试在 Android 应用程序中从 Firebase 获取特定数据。放代码

<小时/>
    DatabaseReference Ref = FirebaseDatabase.getInstance().getReference().child("Working").child(FoundID).child("l");
Ref.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {

}

}

//

但是当使用 firestore 时,它​​拒绝 addValueEventListener如何在firestore而不是firebase中执行前面的代码

最佳答案

Firestore 与实时数据库不同,您应该阅读此处的文档:

https://firebase.google.com/docs/firestore/quickstart

但相当于 addValueEventListenerget()

来自文档:

public Task<DocumentSnapshot> get ()

Reads the document referenced by this 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

关于java - firestore 中的等效 addValueEventListener 是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55412598/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com