db.collection("groups").document(id.get(i)).collection("members")
.get()
.addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
@Override
public void onComplete(@NonNull Task<QuerySnapshot> task) {
if (task.isSuccessful()) {
for (QueryDocumentSnapshot document : task.getResult()) {
id.add(document.getId());
Log.e(Tag, document.getId() + " => " + document.getData());
if (task.getResult().isEmpty()) {
Log.d(Tag, "onSuccess: LIST EMPTY");
return;
} else {
// Convert the whole Query Snapshot to a list
// of objects directly! No need to fetch each
// document.
Log.e(Tag, task.getResult() + "");
typeAll = task.getResult().toObjects(GroupMembers.class);
}
}
} else {
Log.e(Tag, "Error getting documents: ", task.getException());
}
但我需要在通过快照获取所有数据后调用一个方法。如何实现?我应该测试什么?
如何知道快照侦听器完成了?
快照侦听器始终在侦听更改,除非您要删除它。
如果您想知道数据何时完成从数据库加载,请注意,您无法知道所有成员
何时完成下载,因为Cloud Fireatore
是一个实时数据库,获取数据可能永远不会完成。这就是被命名为实时数据库的原因,因为members
集合下的数据可以随时更改,属性可以添加或删除。
问题内容: 我现在正在与Firestore合作,但分页有一些问题。 基本上,我有一个集合(假设有10个项目),其中每个项目都有一些数据和时间戳。 现在,我正在获取前3个项目,如下所示: 在快照侦听器中,我保存了快照中的最后一个文档,以便将其用作下一页的起点。 因此,有时我会要求下一页类似的项目: 现在我的前端中有从索引0到索引5(共6个)的项目。整齐! 如果索引4处的文档现在将其时间戳更新为整个集
我正在使用Firestore for Android。我知道它默认启用了持久性。 以下是一些背景: 我的应用程序显示了一个笔记列表,每一个笔记都绑在一个标签上。因此,在创建便笺时,我必须提供标签列表(在中,响应“选择标签”按钮),该列表将由上的快照侦听器提供。由于创建便笺是一个单独的,所以每次用户创建便笺时,都必须提供完整的标签列表。 null
我需要在。我发现了这里提到的一种方法。它表明: 快照完成后,使用更新的白名单启动原始连接器 但是如何才能发现快照是否完整呢?
问题内容: 如何快速执行Firebase的完成侦听器?它说文档中有SetValue和UpdateValue的完成列表,但没有示例。 问题答案: setValue的完成在{}块(关闭)中处理。因此,一旦尝试设置setValue,该块中的代码就会执行。如果没有错误,错误将为nil,快照将是已写入的数据。 给出结果 并打印“完成”
问题内容: 这个问题已经在这里有了答案 : Android-处理EditText中的“ Enter” (28个答案) 5个月前关闭。 如果我有一个EditText,并且我想听用户是否按下了键盘上的“完成”按钮,该如何做? 问题答案: 代码是 在那个“ edittext”是文本字段的ID 查看此链接,只需将setOnKeyListener设置为您的editText即可。
问题内容: 我想检查活动是否正在运行或完成。有什么方法可以检查活动状态? 我找到了,但是我不确定。 问题答案: 如果您想执行任何步骤,将变得不可见。 他们是这里的几种选择。 onDestroy() -进行最终清理。 isFinishing() - 调用后立即返回true。 onStop() -当被框架进程终止时。(未销毁) onPause() -当被其他覆盖 onBackPressed() -捕获