【发布时间】:2020-07-07 08:39:22
【问题描述】:
目前,我正在使用get() 从 Firestore 中获取一些文档。这是我的代码:
val ids = getIds()
val tasks: MutableList<Task<DocumentSnapshot>> = mutableListOf()
for (id in ids) {
tasks.add(collRef.document(id).get())
}
Tasks.whenAllSuccess<DocumentSnapshot>(tasks).addOnCompleteListener { task ->
if (task.isSuccessful) {
for (doc in task.result!!) {
Log.d("TAG", doc.getString("name"))
}
}
}
而且效果很好。 getIds() 返回一个包含 25 个 ID 的列表,因此 Logcat 中的结果是 25 个名称。但是这段代码只获取一次数据,这意味着如果添加了一些东西,除非我重新加载活动,否则我不会得到它。我读到了listen to multiple documents in a collection,但这意味着要与查询一起使用。我试过了:
Tasks.whenAllSuccess<DocumentSnapshot>(tasks).addSnapshotListener()
但 Android Studio 抱怨:
Unresolved reference: addSnapshotListener
如何收听所有 25 个文档的实时更新?谢谢
【问题讨论】:
标签: java android firebase kotlin google-cloud-firestore