像往常一样,您需要一个将 JSON 中的每个属性映射到字段+getter 的 Java 类:
static class User {
String name;
Map<String, Boolean> friends;
Map<String, Boolean> widgets;
public User() { }
public String getName() { return name; }
public Map<String, Boolean> getFriends() { return friends; }
public Map<String, Boolean> getWidgets() { return widgets; }
@Override
public String toString() {
return "User{" +
"name='" + name + '\'' +
", friends=" + friends +
", widgets=" + widgets +
'}';
}
}
我真的只是按照Firebase guide on reading data on Android 的这些说明进行操作:
我们将创建一个代表博客文章的 Java 类。和上次一样,我们必须确保我们的字段名称与 Firebase 数据库中的属性名称匹配,并为类提供一个默认的无参数构造函数。
然后你可以像这样加载信息:
Firebase ref = new Firebase("https://stackoverflow.firebaseio.com/34882779/users");
ref.addListenerForSingleValueEvent(new ValueEventListenerBase() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot userSnapshot: dataSnapshot.getChildren()) {
System.out.println(userSnapshot.getKey()+": "+userSnapshot.getValue(User.class));
}
}
});
有了这个输出:
brinchen: 用户{name='Brin Chen', friends={mchen=true, hmadi=true}, widgets={one=true, three=true, two=true}}
hmadi: 用户{name='Horace Madi', friends={brinchen=true}, widgets={one=true, two=true}}
mchen: 用户{name='Mary Chen', friends={brinchen=true}, widgets={one=true, three=true}}