Android 我的FireBase数据库没有';不要保存信息
我正在处理我的项目,我需要保存有关我的用户的信息。我选择了实时数据库,但它不起作用。我有一个例外: 此电子邮件已在使用中 通过我插入新的电子邮件。我什么都用(google.json、SHA-1、SHA-256),但我的新用户注册工作不正常。我的规则:Android 我的FireBase数据库没有';不要保存信息,android,firebase-realtime-database,firebase-authentication,Android,Firebase Realtime Database,Firebase Authentication,我正在处理我的项目,我需要保存有关我的用户的信息。我选择了实时数据库,但它不起作用。我有一个例外: 此电子邮件已在使用中 通过我插入新的电子邮件。我什么都用(google.json、SHA-1、SHA-256),但我的新用户注册工作不正常。我的规则: { "rules": { ".read": true, ".write": true } } 我的班级成员: public String name, ema
{
"rules": {
".read": true,
".write": true
}
}
我的班级成员:
public String name, email;
public User(){}
public User(String name, String email){
this.name = name;
this.email = email;
}
}
我的FireBaseAuth、FireBaseDataBase:
private FirebaseAuth mAuth;
private FirebaseDatabase usersDataBase;
///
mAuth.createUserWithEmailAndPassword(email, password)
.addOnCompleteListener(new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
if(task.isSuccessful()){
User user = new User(username, email);
FirebaseDatabase.getInstance().getReference("Users")
.child(FirebaseAuth.getInstance().getUid())
.setValue(user).addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
if(task.isSuccessful()){
Toast.makeText(RegisterActivity.this, "Пользователь успешно добавлен", Toast.LENGTH_SHORT).show();
startActivity(new Intent(RegisterActivity.this, SigningActivity.class));
}
else{
Toast.makeText(RegisterActivity.this, "Произошла ошибка! Пожалуйста, попробуйте позже", Toast.LENGTH_SHORT).show();
}
}
});
}
else {
Toast.makeText(RegisterActivity.this, task.getException().getMessage(), Toast.LENGTH_SHORT).show();
}
}
});
私人消防队;
私有FirebaseDatabase用户数据库;
///
mAuth.createUserWithEmailAndPassword(电子邮件,密码)
.addOnCompleteListener(新的OnCompleteListener(){
@凌驾
未完成的公共void(@NonNull任务){
if(task.issusccessful()){
用户=新用户(用户名、电子邮件);
FirebaseDatabase.getInstance().getReference(“用户”)
.child(FirebaseAuth.getInstance().getUid())
.setValue(用户).addOnCompleteListener(新的OnCompleteListener(){
@凌驾
未完成的公共void(@NonNull任务){
if(task.issusccessful()){
Toast.makeText(RegisterActivity.this,“Пзззааааааааааааааа;
startActivity(新意图(RegisterActivity.this,SigningActivity.class));
}
否则{
Toast.makeText(RegisterActivity.this,“ППзззжзжжжж!ППжжжж,Пззззжжзж;
}
}
});
}
否则{
Toast.makeText(RegisterActivity.this、task.getException().getMessage()、Toast.LENGTH_SHORT).show();
}
}
});
当您再次尝试登录时,您确定Firebase控制台中不存在该电子邮件吗?是的,我有注册活动,有三个用于电子邮件、用户名和密码的编辑文本。我做了很多测试,每次我插入随机电子邮件时,我的电子邮件和userUID总是保存在Authentication->Users中。但实时数据库始终为空。调用createUserWithEmailAndPassword
失败,因此数据库保持为空是有意义的。由于错误消息显示此电子邮件已被使用,因此我们只能说:您似乎正在传递一个已注册的电子邮件地址。如果您确定情况并非如此,您是否可以编辑您的问题以向我们显示更多信息,这也有助于我们发现错误消息是错误的?