我成功地设法获取了存储在数据库数组中的字符串(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时,可以在右侧看到要查询的文档: