我尝试通过发送电子邮件和密码来使用 Firebase Auth 创建用户。现在我想在创建用户后存储名字和姓氏。由于我是 Android 和 Firebase 的新手,我只是不知道该怎么做。谁能帮我解决这个问题吗?
我的代码:
public class RegistrationActivity extends AppCompatActivity {
private FirebaseAuth auth;
Button cancel, submit;
EditText email, password, firstName, lastName;
private ProgressDialog progressDialog;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_registration);
progressDialog = new ProgressDialog(this);
email = (EditText) findViewById(R.id.email);
password = (EditText) findViewById(R.id.password);
firstName = (EditText) findViewById(R.id.firstName);
lastName = (EditText) findViewById(R.id.lastName);
submit = (Button) findViewById(R.id.submit);
submit.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String inputEmail = email.getText().toString().trim();
String inputPassword = password.getText().toString().trim();
registerUser();
}
});
}
private void registerUser(){
final String inputFirstName = firstName.getText().toString();
String inputLastName = lastName.getText().toString();
final String inputEmail = email.getText().toString();
String inputPassword = password.getText().toString();
progressDialog.setMessage("Registering..");
progressDialog.show();
//create user
auth.createUserWithEmailAndPassword(inputEmail, inputPassword)
.addOnCompleteListener(RegistrationActivity.this, new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
if (!task.isSuccessful()) {
Toast.makeText(RegistrationActivity.this, "Authentication failed." + task.getException(),
Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(RegistrationActivity.this, "User created successfully.", Toast.LENGTH_SHORT).show();
progressDialog.hide();
startActivity(new Intent(RegistrationActivity.this, MainActivity.class));
}
}
});
}
最佳答案
您可以像这样创建用户类:
public class User{
String name;
String surname;
String website;
....
public User(){
// Default constructor required
}
public void setName(String name){this.name = name;}
public void setSurname(String surname){this.surname = surname;}
public void setWebsite(String website){this.website = website;}
public String getName(){ return name; }
.....
}
然后使用它:
User user = new User();
user.setName("xxxx");
user.setSurname("xxxx");
user.setWebsite("xxxx");
mDatabase.child("users").push().setValue(user);
关于android - 在 Android 中注册 Firebase 期间存储附加信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42268081/