我在我的firebase中写了一个地图,从String(用户ID)到Data:
Data {
String name;
String surname;
Map<String, String> mapSportToRate;
}
firebase看起来像:
- 12345
- name "Robin"
- surname "Williams"
- mapSportToRate
- football "10"
- basketball "5"
- 23142
- name "Britney"
- surname "Spears"
- mapSportToRate
- football "1"
- basketball "4"
写入Firebase我这样做了:
Map<String, Data> mapUserIdToData = new HashMap<>();
mapUserIdToData.put("12345", new Data("Robin", "Williams", "10", "5"));
mapUserIdToData.put("23142", new Data("Britney", "Spears", "1", "4"));
dataSnapshot.getRef().setValue(mapUserIdToData);
我想从firebase读取我用于setValue的相同成员类型。我该怎么办?
例如:
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
Map<String, Data> mapUserIdToData = (HashMap<String, Data>) dataSnapshot.getValue();
...
问题是:当我将鼠标停留在mapUserIdToData&#39;时,我看到值不是Data类型但是HashMap 所以我不能够通过mapUserIdToData.get(&#34; 12345&#34;)来访问它的变量。名称就像我想要的那样。
我不想通过HashMap获取名称,例如mapUserIdToData.get(&#34; 12345&#34;)。get(&#34; name&#34;)。
那么如何在我的自定义对象中读取用于将数据设置到firebase中的参数?