gpt4 book ai didi

android - 使用 Firebase android 时如何向用户添加用户名?

转载 作者:太空宇宙 更新时间:2023-11-03 12:15:33 26 4
gpt4 key购买 nike

我目前开始将 Firebase 用于我的 Android 应用程序,并使用他们 GitHub 上的示例来创建登录和注册 Activity 。

https://github.com/firebase/quickstart-android

唯一的问题是我注意到他们的版本只有用于登录和注册的电子邮件和密码。我想在我的用户注册时添加一个用户名字段。我确实找到了一些可能提供答案的其他链接,但我知道 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();
}
)};
}

最佳答案

createUserWithEmailAndPassword 创建的是仅用于身份验证的内部 firebase 用户(您可以在新控制台的 Auth 中看到此信息)。如果您想向该用户添加更多信息,就像 Sahaj 提到的那样,您需要在您的 firebase 数据库 (YourApp/users/userId) 上创建一个用户节点来处理该用户名。在此节点中,您将存储要在应用程序中使用的所有用户信息。

在互联网上做一些研究,你可以找到一些例子 like this one如何正确地做到这一点。

创建用户时您必须做的几乎就是调用将创建新用户的函数。

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);
}

关于android - 使用 Firebase android 时如何向用户添加用户名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37798560/

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