从Firestore获取一个ArrayList并从该列表中选择3个随机字符串

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从Firestore获取一个ArrayList并从该列表中选择3个随机字符串相关的知识,希望对你有一定的参考价值。

我成功地获取了存储在数据库数组中的字符串(Log.d("TAG", entry.getValue().toString());显示了数组字符串的值)。

字符串是存储在Firestore中数组中的自动生成的文档ID,因此目标是获得3个ID,因此我可以进行3个查询以获取实际文档。

我现在坚持如何将从Firestore获得的字符串附加到ArrayList,然后从中获取3个单独的随机字符串。

我对ArrayList相对较新,因此非常感谢您的帮助!

这是我的代码:

questionRef.document(tvCat1).get().addOnCompleteListener(new OnCompleteListener<DocumentSnapshot>() {
    @Override
    public void onComplete(@NonNull Task<DocumentSnapshot> task) {
        if (task.isSuccessful()) {

            DocumentSnapshot document = task.getResult();

            Map<String, Object> map = document.getData();
            for (Map.Entry<String, Object> entry : map.entrySet()) {
                if (entry.getKey().equals("questions")) {
                    Log.d("TAG", entry.getValue().toString());

// Create function that gets 3 different values from the ArrayList and store them in 3 different Strings

                }
            }
        }
    }
});

这是我构建数据库的方式。目前,我正在获取ArrayList,因此我没有太多读取。在右侧,您可以从ArrayList中选择3个随机文档ID时看到要查询的文档:

enter image description here

答案

我找到了实现最佳结果的方法。我发布了对this现有问题的答案,以防止发布相同的答案。

以上是关于从Firestore获取一个ArrayList并从该列表中选择3个随机字符串的主要内容,如果未能解决你的问题,请参考以下文章

如何将加载的数据从Firestore保存到Arraylist

从 Firebase Firestore 检索时应用程序崩溃

FireStore 不返回所有结果

异步等待 Firestore 用户 ID

无法访问 Cloud Firestore 后端。连接失败 1 次

如何从 Firestore 云数据库中读取文档中的 ArrayLists?