Ale*_*dez 4 android firebase firebase-authentication
我目前开始在我的Android应用程序中使用Firebase,并使用他们的GitHub上的示例来创建登录和注册活动.
唯一的问题是,我注意到他们的版本只有登录和注册的电子邮件和密码.我想在注册时为用户添加用户名字段.我确实找到了一些可能提供答案的其他链接,但我知道Firebase最近已经更改,而且这些答案没有显示与示例相同的注册方法,所以我认为它可能会有所不同.这是我的createAccount代码块:
public void createAccount(String email, String password) {
if (!validateForm()) {
return;
}
showProgressDialog();
mAuth.createUserWithEmailAndPassword(email, password).addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
if (!task.isSuccessful()) {
Toast.makeText(LoginActivity.this, "An error occurred", Toast.LENGTH_SHORT).show();
}
hideProgressDialog();
}
)};
}
Run Code Online (Sandbox Code Playgroud)
什么createUserWithEmailAndPassword
创建仅用于身份验证的内部用户火力点(你可以看到在这个信息验证在新的控制台).如果要向此用户添加更多信息(如Sahaj所述),则需要在firebase数据库(YourApp/users/userId
)上创建一个用户节点来处理此用户名.在此节点中,您将存储要在应用程序中使用的所有用户信息.
在互联网上做一些研究,你可以找到一些关于如何正确做到这一点的例子.
创建用户时你需要做的就是调用一个能够创建新用户的函数.
mAuth.createUserWithEmailAndPassword(email, password).addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
if (!task.isSuccessful()) {
Toast.makeText(LoginActivity.this, "An error occurred", Toast.LENGTH_SHORT).show();
} else {
createNewUser(task.getResult().getUser());
}
hideProgressDialog();
}
)};
private void createNewUser(User userFromRegistration) {
String username = "username";
String email = userFromRegistration.getEmail();
String userId = userFromRegistration.getUid();
User user = new User(username, email);
mDatabase.child("users").child(userId).setValue(user);
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
9077 次 |
最近记录: |