这里 mAuth.createUserWithEmailAndPassword 此方法有效,但数据库方法无效。 我使实时数据库中的值变为真实。
mAuth.createUserWithEmailAndPassword(email,password)
.addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
if (task.isSuccessful()){
user u = new user(username,email);
>the below method is not working
database.child(Objects.requireNonNull(mAuth.getCurrentUser()).getUid())
.setValue(u).addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
if (task.isSuccessful()){
Toast.makeText(signUp.this,"done",Toast.LENGTH_SHORT).show();
}else {
Toast.makeText(signUp.this,"failed",Toast.LENGTH_SHORT).show();
}
}
});
}else{
Toast.makeText(signUp.this,"loginfailed",Toast.LENGTH_SHORT).show();
}
}
});
最佳答案
要检查的事项:
1) 您是否初始化了数据库引用
:
DatabaseReference database = FirebaseDatabase.getInstance().getReference();
2) 您是否初始化了身份验证
:
FirebaseAuth mAuth = FirebaseAuth.getInstance();
3) 您的实时数据库安全规则
是否允许读取和写入?
4) 您传递给函数的电子邮件
和密码
是否为空?
关于java - 我正在尝试使用 firebase 制作登录页面和注册页面。我想使用 firebase 实时数据库来存储用户名和电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61424201/