【发布时间】:2016-12-05 13:21:35
【问题描述】:
我正在尝试将 POJO 插入 Firebase。但是,有些字段似乎没有解析到 Firebase 中,但没有任何警告或错误。
我有这个 POJO:
public class Group {
public String name;
public String admin;
public List<String> addedUsers;
public List<String> invitedUsers;
public Group(String name, String admin, ArrayList<String> addedUsers, ArrayList<String> invitedUsers) {
this.name = name;
this.admin = admin;
this.addedUsers = addedUsers;
this.invitedUsers = invitedUsers;
}
public Group() {
// Default constructor required because we have a non-default constructor as well.
}
}
我通过这样做上传到 Firebase:
DatabaseReference groupRef = ref.child("Groups");
ArrayList<String> addedUsers = new ArrayList<String>();
addedUsers.add("email1@gmail.com");
addedUsers.add("email2@gmail.com");
ArrayList<String> invitedUsers = new ArrayList<String>();
Group newGroup = new Group("GroupName",
"email1@gmail.com", addedUsers, invitedUsers
);
groupRef.push().setValue(newGroup);
我最终在 Firebase 中得到了这个对象:
我现在有一个次要问题,我手动将数据插入 Firebase,但现在我无法将列表映射到我的 Java 对象,并且映射为 null,我知道我可以正常下载数据;
【问题讨论】:
-
Firebase treats empty objects as non-existent,这可以解释为什么
invitedUsers没有显示。但是,我相信you need to have getters for all of your class members。此外,最好将非静态成员变量声明为private。
标签: android firebase firebase-realtime-database