从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时看到要查询的文档:
答案
我找到了实现最佳结果的方法。我发布了对this现有问题的答案,以防止发布相同的答案。
以上是关于从Firestore获取一个ArrayList并从该列表中选择3个随机字符串的主要内容,如果未能解决你的问题,请参考以下文章
如何将加载的数据从Firestore保存到Arraylist
从 Firebase Firestore 检索时应用程序崩溃