在Firebase setValue中使用数组和循环

时间:2018-10-25 06:47:59

标签: android arrays firebase firebase-realtime-database

我想使用带有数组和for循环的hashMap在firebase子项中添加数据。但是该值将被覆盖,而不是使用新索引创建新的子代。这是代码:

for (int i = 0; i < 10; i++) {
    medicineName[i] = medName[i].getText().toString();
    HashMap<String, String> anxietyData = new HashMap<>();
    anxietyData.put("medicine_date", medDate);
    anxietyData.put("medicine_name" + i, medicineName[i]);
    mref.child("users").child(mAuth.getCurrentUser().getUid())
            .child("data").child("medicine_detail").setValue(anxietyData);
}

这是数据库值:

enter image description here

我希望代码清楚。请帮我。谢谢

1 个答案:

答案 0 :(得分:0)

for (int i = 0; i < 10; i++) {
medicineName[i] = medName[i].getText().toString();
HashMap<String, String> anxietyData = new HashMap<>();
anxietyData.put("medicine_date", medDate);
anxietyData.put("medicine_name" + i, medicineName[i]);
mref.child("users").child(mAuth.getCurrentUser().getUid())
        .child("data").child("medicine_detail").child("medicine" + i).setValue(anxietyData);
}

这将添加额外的孩子。因此,该节点将是“ Medicine Detail”-“ Medicine1”-Hashmap详细信息。这样可以防止它被覆盖