为了账号安全,请及时绑定邮箱和手机立即绑定

有没有办法将 firestore 中的数据值存储到数组中?

有没有办法将 firestore 中的数据值存储到数组中?

元芳怎么了 2024-01-05 15:18:32
我试图获取每个文档中两个特定字段中的数据,其中一个字段是整数,另一个字段是字符串。我希望每个字段分别存储在一个数组中。 db.collection("Activity")                .whereEqualTo("plan_id", plan_id)                .get()                .addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {                    @Override                    public void onComplete(@NonNull Task<QuerySnapshot> task) {                        if (task.isSuccessful()) {                            List<Long> progressList = new ArrayList<>();                            List<String> titleList = new ArrayList<>();                            for (QueryDocumentSnapshot document : task.getResult()) {                                Log.d(TAG, document.getId() + " => " + document.get("progress"));                            }                        } else {                            Log.d(TAG, "Error getting documents: ", task.getException());                        }                    }                });我试过了int[] prog = (int[]) document.get("progress");String[] title = (String[]) document.get("title");但没有运气...
查看完整描述

1 回答

?
猛跑小猪

TA贡献1858条经验 获得超8个赞

我对 Firestore 不熟悉,但似乎QueryDocumentSnapshot与Map<String, Object>. 以下代码片段显示了如何将这些值分别存储到List代码中声明的progressList 和titleList 中。


List<int> progressList = new ArrayList<>();

List<String> titleList = new ArrayList<>();

for (QueryDocumentSnapshot document : task.getResult()) {

    progressList.add(Integer.valueOf(document.get("progress").toString()));

    titleList.add(document.get("title").toString());

}

如果你仍然想用来Array存储值,你可以使用 API,ArrayList.toArray()如下所示:


int[] prog = new int[progressList.size()];

prog = progressList.toArray(prog);


String[] title = new String[titleList.size()];

title = titleList.toArray(title);


查看完整回答
反对 回复 2024-01-05
  • 1 回答
  • 0 关注
  • 95 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信