我有一个firebase数据库。 当我从快照中获取价值时,我在下面有HashMap:
我有一个Snap类,如下所示。如何将DataSnapshot转换为类的列表,如
List<Snap> snapList = (HashMap<String,Object>) dataSnapshot.child(USER_PHONE).child("friends").getValue();
public class Snap {
String key;
String value;
public Snap(){
}
public Snap(String key, String value) {
this.key = key;
this.value = value;
}
public String getKey() {
return key;
}
public String getValue() {
return value;
}
}
答案 0 :(得分:2)
在Java中,您无法将HashMap<String,Object>
转换为List<Snap>
。您可以做什么,是查询您的数据库并获取所有Snap
个对象,然后将它们添加到List<Snap>
。
ValueEventListener eventListener = new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for(DataSnapshot ds : dataSnapshot.getChildren()) {
Snap snap = ds.getValue(Snap.class);
}
}
@Override
public void onCancelled(DatabaseError databaseError) {}
};
yourRef.addListenerForSingleValueEvent(eventListener);