当前位置: 首页 > 知识库问答 >
问题:

如何在视图中显示文档的所有字段?

单琛
2023-03-14

我必须在我的Android应用程序中列出Firebase Firestore文档中的所有字段。如何落实?

例如在附上的截图中,我必须在我的App中显示文档“HiySLB7YW0DGE5B1MMPigreByJ03”中的所有字段。

文档截图

共有1个答案

呼延凌
2023-03-14

要能够显示“HIYSLB7YW0DGE5B1MMPIGREBYJ03”中所有字段的名称,请使用以下代码行:

FirebaseFirestore rootRef = FirebaseFirestore.getInstance();
DocumentReference docId = rootRef.collection("UsersLogDetail").document("hIYsLb7YW0dGe5b1mmpiGrEbYJ03");
docId.get().addOnCompleteListener(new OnCompleteListener<DocumentSnapshot>() {
    @Override
    public void onComplete(@NonNull Task<DocumentSnapshot> task) {
        if (task.isSuccessful()) {
            List<String> fieldNames = new ArrayList<>();
            DocumentSnapshot document = task.getResult();
            if (document.exists()) {
                Map<String, Object> map = document.getData();
                for (Map.Entry<String, Object> entry : map.entrySet()) {
                    fieldNames.add(entry.getKey());
                }
                Log.d(TAG, fieldNames.toString());
                //Do what you need to do with your services List of property names
            } else {
                Log.d(TAG, "No such document");
            }
        } else {
            Log.d(TAG, "get failed with ", task.getException()); //Don't ignore potential errors!
        }
    }
});

正如您所看到的,您需要阅读整个文档的内容。请注意,DocumentSnapshot的getData()方法返回一个Map ,可以像Java中的任何其他Map一样简单地进行迭代。

logcat的结果将是:

[07-04-21 17:45:26, 07-04-21 17:45:46 ... 07-04-21 17:46:55]
 类似资料:
  • 如果我违反了一些规则,或者之前有人问过我,我很抱歉。我花了很多时间在谷歌上搜索示例,以及有关堆栈溢出和其他资源的问题。但我无法理解如何从firestore集合中获取文档字段,并在jetpack compose文本函数中显示字符串值。 我是编程和Android的初学者。所以我有一些基本的误解,我应该怎么做,但这是我的尝试,它不起作用,我不明白为什么。 在FiRecovery中,我有一个集合,称为用户

  • 在新版本2017.3中,他们增加了这个功能,但我找不到菜单来关闭它。

  • 问题内容: 我有一个非标准的Spring MVC项目。用XML响应。是否可以创建一个视图(jsp页面),以显示所有接受的(不是必需的)控制器,映射和参数。 根据答案,我有: 我没有得到任何信息 问题答案: 随着Spring 3.1,你可以轻松浏览端点。 The controller : The view : 你也可以在Spring <3.1中使用代替。但是你不会获得相同级别的信息。 有了它们,你将

  • 问题内容: 是否可以在 Django视图中显示PDF文件,而不是使用户必须下载它才能看到它? 如果有可能,将如何做? 这是我到目前为止所拥有的 问题答案: 简而言之,如果你有一个PDF文件,并且想通过Django视图输出它,那么你要做的就是将文件内容转储到响应中并以适当的mimetype发送。 你可能可以直接返回响应而无需指定Content-Disposition,但这可以更好地表明你的意图,并且

  • 假设我有 100 个带字段的文档 地址 现在假设我的业务模式正在改变,我想添加新的现场呼叫。 如何在所有100个文档中添加?NoSQL数据库上有这样的东西吗?

  • 可能这是一个幼稚的问题,但我是初学者请不要认为是错误的问题。我搜索了很多,也跟着这个 http://developer.android.com/guide/topics/ui/notifiers/notifications.html教程。还有谷歌解决我的问题,但我找不到。 这是我的作业。 我在主活动中有一个EditText和一个按钮,当我单击该按钮时生成一个通知,当我打开该通知时另一个活动打开,显