gpt4 book ai didi

android - 在 firebase 中使用名称、用户名等创建新用户

转载 作者:行者123 更新时间:2023-11-29 15:41:48 25 4
gpt4 key购买 nike

我是新的 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() 检索它。

最佳答案

注册成功后,

FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();

UserProfileChangeRequest profileUpdates = new UserProfileChangeRequest.Builder()
.setDisplayName("Jane Q. User")
.build();

编辑:这段代码有点不完整,因为从未访问过 profileUpdates

user.updateProfile(profileUpdates)
.addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
if (task.isSuccessful()) {
Log.d(TAG, "User profile updated.");
}
}
});

然后,要检索它,在任何需要的地方使用它,

FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
if (user != null) {
// Name, email address etc
String name = user.getDisplayName();
String email = user.getEmail();
}

关于android - 在 firebase 中使用名称、用户名等创建新用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39191403/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com