如何从Firestore for Android应用程序检索嵌套哈希图中的各个字段?

时间:2020-06-29 06:45:29

标签: android google-cloud-firestore

Log data image Code image Database image 我正在开发测验应用程序。这是我的android应用程序,我希望它看起来很专业。我能够将所有数据存储在firestore中的嵌套haspmap中。但是我在检索各个字段时遇到了麻烦。如何访问嵌套的haspmap的个人?谢谢

1 个答案:

答案 0 :(得分:0)

以下代码将帮助您从Question1的映射中检索数据,但您必须根据自己的逻辑进行编写。

DocumentReference docRef = db.collection("DailyQuest").document("2020-06-27");
docRef.get().addOnSuccessListener(new OnSuccessListener<DocumentSnapshot>() {
    @Override
    public void onSuccess(DocumentSnapshot documentSnapshot) {
        Map<String, Object> forms = documentSnapshot.get("Question1");
        for (Map.Entry<Object, Object> form: forms.entrySet()) {
            String key = (String) form.getKey();
            Map<Object, Object> values = (Map<Object, Object>)form.getValues();
            String name = (String) values.get("Correct");
        }
    }
});

现在问题来了,因为您必须从哈希图中获取值并显示在屏幕上。如果哈希图中的键发生更改,则应用将崩溃。以下答案不好,或者大多数情况下它不是用来建议某人的,但是您可以使用它。

如果不了解,请首先记录输出。我在没有ide的情况下发布了此代码:

Log.d("opt1", forms.get("Opt1").toString())

然后,如果没有引起任何问题,则将其设置为textview:

textView.setText(forms.get("Opt1").toString())