Java 在firebase中作为id发送电子邮件
我可以在Firebase中将用户的电子邮件作为Java 在firebase中作为id发送电子邮件,java,android,firebase,firebase-realtime-database,Java,Android,Firebase,Firebase Realtime Database,我可以在Firebase中将用户的电子邮件作为id使用,而不是使用push()为子(用户)生成id 我试过这个: private void userData(String emai1, String pass, String bal) { String id = emai1; int balance=Integer.valueOf(String.valueOf(bal)); User user1 = new User(id,emai1,pass,balance)
id
使用,而不是使用push()
为子(用户)
生成id
我试过这个:
private void userData(String emai1, String pass, String bal) {
String id = emai1;
int balance=Integer.valueOf(String.valueOf(bal));
User user1 = new User(id,emai1,pass,balance);
databaseReference.child(id).setValue(user1);
}
用户类别:
public class User {
private String email;
private int balance;
private String password;
private String id;
public User( String id,String email, String password , int balance) {
this.email = email;
this.balance = balance;
this.password = password;
this.id = id;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public int getBalance() {
return balance;
}
public void setBalance(int balance) {
this.balance = balance;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
}
由于我使用了firebase auth,用户得到了注册,但他的信息并没有添加到firebase数据库中
顺便说一句,在尝试此操作之前,我使用
push()
获取id
,一切正常,但我希望电子邮件作为id
而不是生成一个新的id
(因为电子邮件无论如何都是唯一的)您不能将电子邮件用作唯一密钥,因为它包含数据库中不允许的点
因为您使用了firebase身份验证,所以只需使用用户唯一id,而不是push()
这将为您提供id,然后您也可以在数据库中使用该id
DatabaseReference ref=FirebaseDatabase.getInstance().getReference().child("users").child(userId);
ref.child("name").setValue("name_here");
ref.child("email").setValue("email_here");
那么你会:
users
userId
name: name_here
email: email_here
也请检查此项:
看,非常感谢。这将非常有帮助。另外,我为研究不够而道歉,因为你把这个问题标记为重复的。不,我没有把它标记为重复的,标记了它。但是,不管怎样都很好,别担心!
users
userId
name: name_here
email: email_here