【发布时间】:2016-08-28 12:44:21
【问题描述】:
我是新的 android 学习者,所以我很难做我在文档中找不到的东西。这是我创建用户的代码
mAuth.createUserWithEmailAndPassword(email,password)
.addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
if(task.isSuccessful()){
//Successfully Registered
Toast.makeText(RegisterActivity.this, "Registration Successful", Toast.LENGTH_SHORT).show();
}else {
//Error occurred during registration
Toast.makeText(RegisterActivity.this, "Registration Unsuccessful", Toast.LENGTH_SHORT).show();
try {
throw task.getException();
} catch(FirebaseAuthWeakPasswordException e) {
editTextPassword.setError(e.getMessage());
editTextPassword.requestFocus();
}catch(FirebaseAuthUserCollisionException | FirebaseAuthInvalidCredentialsException e) {
editTextEmail.setError(e.getMessage());
editTextEmail.requestFocus();
} catch(Exception e) {
Log.e(RegisterActivity.class.getName(), e.getMessage());
}
}
progressDialog.dismiss();
}
});
这只需要两个参数(电子邮件和密码)来创建用户。要创建具有更多字段的用户,我应该采取什么方法。
我还添加了FirebaseAuth.AuthStateListener() 来检查用户登录状态。但是,当我在成功用户登录后调用firebaseAuth.getCurrentUser().getDisplayName() 时,它会像往常一样返回null。那么如何使用名称创建用户以便我可以使用firebaseAuth.getCurrentUser().getDisplayName() 检索它。
【问题讨论】:
-
@srijanshukla 感谢您提供文档链接。其实我不知道正确的方法。
-
谁能告诉我这两个答案中哪个是好的做法?
标签: android firebase firebase-authentication