我知道如何使用 firebase 创建电子邮件和密码身份验证,但这只会创建电子邮件和 ID,但我如何向该 ID 添加名称和更多详细信息,例如我如何调用 user.getdisplayname?
这是我创建验证邮箱和密码的代码
bv.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
final ProgressDialog pros=ProgressDialog.show(Register.this,"please wait..","registerring..",true);
mAuth.createUserWithEmailAndPassword(email.getText().toString(),password.getText().toString()).addOnCompleteListener(new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
pros.dismiss();
if(task.isSuccessful()){
Toast.makeText(Register.this,"sucsseful",Toast.LENGTH_LONG).show();
Intent i=new Intent(Register.this,login.class);
}else {
Log.e("ERROr",task.getException().toString());
Toast.makeText(Register.this,task.getException().getMessage(),Toast.LENGTH_LONG).show();
}
}
});
如果你说也要创建数据库,那我怎么把它和用户认证联系起来呢?
private FirebaseUser UserDetaill = FirebaseAuth.getInstance().getCurrentUser() ;
最佳答案
您可以像这样使用UserProfileChangeRequest
UserProfileChangeRequest profileUpdates = new UserProfileChangeRequest.Builder()
.setDisplayName("XXX YYYY")
.setPhotoUri(URI)
.build();
UserDetaill.updateProfile(profileUpdates);
使用任务
FirebaseAuth.getInstance().createUserWithEmailAndPassword(email, password)
.continueWithTask(new Continuation<AuthResult, Task<? extends Object>>() {
@Override
public Task<? extends Object> then(@NonNull Task<AuthResult> task) throws Exception {
UserProfileChangeRequest profileUpdates = new UserProfileChangeRequest.Builder()
.setDisplayName("XXX YYYY")
.setPhotoUri(URI)
.build();
return task.getResult().getUser().updateProfile(profileUpdates);
}
});
关于java - 如何使用 firebase 身份验证创建用户名、地址和详细信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45055629/