【问题标题】:How to access array data from Firebase Firestore?如何从 Firebase Firestore 访问数组数据?
【发布时间】:2021-10-25 08:57:16
【问题描述】:

我有一个如下所示的 Firebase Firestore 数据库:

我想将这些数据存储在我的ArrayList<>

如果你有什么不明白的可以查看我之前的问题Question Link StackOverFlow

【问题讨论】:

  • 所以你想得到favFoods数组的内容对吧?然后请显示更详细的数据库架构以及到目前为止您尝试了什么。
  • 是的,我想要favFoods数组
  • @AlexMamo 你检查了我之前的问题吗,因为我问的是与question link相关的问题
  • 这是db.collection("data").document("one")你的结构吗?
  • 是的!看起来像这样db.collection("fav").document("randomId")

标签: java android firebase google-cloud-firestore


【解决方案1】:

要显示您的 favFoods 数组,请使用以下代码行:

db.collection("fav").document("xQjHVBm0GtUE4VhP3A6m").get().addOnCompleteListener(new OnCompleteListener<DocumentSnapshot>() {
    @Override
    public void onComplete(@NonNull Task<DocumentSnapshot> task) {
        if (task.isSuccessful()) {
            DocumentSnapshot document = task.getResult();
            if (document.exists()) {
                List<String> favFoods = (List<String>) document.get("favFoods");
                for (String favFood : favFoods) {
                    Log.d(TAG, favFood);
                }
            } else {
                Log.d(TAG, "No such document");
            }
        } else {
            Log.d(TAG, "get failed with ", task.getException());
        }
    }
});

如您所见,您应该调用get() 并将对象转换为List。 logcat 中的结果将是:

Chicken
Humburger
vegetables

【讨论】:

  • 谢谢@Alex Mamo
猜你喜欢
  • 1970-01-01
  • 2022-01-04
  • 2023-03-08
  • 1970-01-01
  • 2020-10-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多