【发布时间】:2021-03-03 23:21:06
【问题描述】:
这是我创建的 registerUser 函数。如果你能看到那里我已经完成了将值存储到数据库中所需的一切 使用 setValue() 方法获取 firebase 数据库的引用和实例以及设置值并传递构造函数类 User 的用户对象。 我不知道我哪里做错了。请帮助这将是非常可观的。 这是我用于注册用户并存储到 Firebase 数据库的 Java 代码
private void registerUser()
{
String Email=nEmail.getText().toString().trim();
String password=npassword.getText().toString().trim();
String Username=nFullName.getText().toString().trim();
String Phone=nphone.getText().toString().trim();
if(Username.isEmpty()) {
nFullName.setError("Name is required");
nFullName.requestFocus();
return;
}
if(Email.isEmpty()) {
nEmail.setError("Email is required");
nEmail.requestFocus();
return;
}
if(!Patterns.EMAIL_ADDRESS.matcher(Email).matches()){
nEmail.setError("please provide valid email");
nEmail.requestFocus();
return;
}
if(password.isEmpty()) {
npassword.setError("password is required");
npassword.requestFocus();
return;
}
if(password.length() < 6)
{
npassword.setError("password must be 6 chracters long");
npassword.requestFocus();
return;
}
if(Phone.isEmpty()) {
nphone.setError("Phone is required");
nphone.requestFocus();
return;
}
progressBar.setVisibility(View.VISIBLE);
mAuth.createUserWithEmailAndPassword(Email,password)
.addOnCompleteListener(new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
if(task.isSuccessful())
{
String Email=nEmail.getText().toString().trim();
String Username=nFullName.getText().toString().trim();
String Phone=nphone.getText().toString().trim();
Users user=new Users(Username,Phone,Email);
FirebaseDatabase.getInstance().getReference("Users")
.child(Objects.requireNonNull(FirebaseAuth.getInstance().getCurrentUser()).getUid()).setValue(user).addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
if(task.isSuccessful()){
Toast.makeText(activity_register.this,"User Has been Successfully registered",Toast.LENGTH_SHORT).show();
progressBar.setVisibility(View.GONE);
}
else
{
Toast.makeText(activity_register.this,"Failed..... :(",Toast.LENGTH_SHORT).show();
progressBar.setVisibility(View.GONE);
}
}
});
}
else
{
Toast.makeText(activity_register.this,"Failed..... :(",Toast.LENGTH_SHORT).show();
progressBar.setVisibility(View.GONE);
}
}
});
}
}
如果工作需要,还建议我任何依赖项。
【问题讨论】:
标签: android firebase firebase-realtime-database firebase-authentication android-manifest