【发布时间】:2017-10-06 15:58:08
【问题描述】:
我仍在尝试了解这个 NoSQL 数据库及其与 Android 的集成。
我之前有一个SQL数据库,表之间有一些关系,像这样
用户
int id
文字名称
int groupId
组
int id
文字名称
在 Firebase 中我是这样实现的,
{
"user": {
"1": {
"name": "Jon",
"groups": {
"group1": true
}
}
},
"groups": {
"group1": {
"name": "Group 1"
}
}
}
直到这里我认为它很好,但是当我用 Java 编写一些代码时,我不知道如何放置我的 POJO。 这是我到目前为止所做的:
public class Group {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
public class User {
private String name;
private Group groups;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Group getGroups() {
return groups;
}
public void setGroups(Group groups) {
this.groups = groups;
}
}
现在读取值。 (在方法 OnCreate 上)
FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference myRef = database.getReference("user");
myRef.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
Iterable<DataSnapshot> children = dataSnapshot.getChildren();
DataSnapshot next = children.iterator().next();
User value = next.getValue(User.class);
Group group = value.getGroups();
}
@Override
public void onCancelled(DatabaseError error) {
// Failed to read value
}
});
但我组的值始终为空。我究竟做错了什么??如何将用户与组关联起来?
【问题讨论】:
标签: android firebase firebase-realtime-database nosql