我想创建一个邮件的用户数据库,当用户创建一个帐户时,它会自动在firebase中创建一个节点。例如
public void onSuccess(Map<String, Object> result) {
String mail = edtMailSignUp.getText().toString();
Firebase rt = root.child(mail);
rt.setValue(mail);
}
当我跑它时,它失败了。我该如何解决?
答案 0 :(得分:0)
方法setValue()
将覆盖指定位置的数据,包括任何子节点。
每次将新子项添加到指定的Firebase参考时,您都可以使用生成唯一ID的push()
方法。
Firebase rt = root.child(mail);
rt.push().setValue(mail);
如果您想插入更多数据(如姓名,年龄....),您可以使用Pojo存储信息:
public class User {
private int age;
private String email;
private String name;
//Use the empty constructor
public User() {}
// Getters and setters
//.....
}
然后:
Firebase rt = root.child("users"); //Your users root
User myUser = new User();
myUser.setName(".....");
myUser.setAge(xx);
myUser.setEmail(".....");
rt.push().setValue(myUser);
答案 1 :(得分:0)
我做这个
@Override
public void onSuccess(Map<String, Object> result) {
String mail = edtMailSignUp.getText().toString();
MailDatabase mDtb = new MailDatabase();
mDtb.setTime("1234");
mDtb.setContent("hongphat");
root.push().setValue(mDtb);
}
这个
public class MailDatabase {
private String time;
private String content;
public MailDatabase(){
}
public void setTime(String _time){
time = _time;
}
public void setContent(String _content){
content = _content;
}
}
但它有bug。这是错的吗?