如何获取firebase android的用户名
我已经在我的android应用程序上创建了一个聊天功能,但我希望我的用户能够创建一个帐户。但是,我设法让用户使用Firebase创建了一个帐户。但问题是,它允许你在Facebook等网站上创建帐户,我选择电子邮件和密码。这不允许您设置用户名,我相信是这样的。也许有办法改变UID 如果有人能在这里帮助我,我将万分感激 同样,我也在尝试让用户创建一个用户名。看看:如何获取firebase android的用户名,android,firebase,firebase-authentication,Android,Firebase,Firebase Authentication,我已经在我的android应用程序上创建了一个聊天功能,但我希望我的用户能够创建一个帐户。但是,我设法让用户使用Firebase创建了一个帐户。但问题是,它允许你在Facebook等网站上创建帐户,我选择电子邮件和密码。这不允许您设置用户名,我相信是这样的。也许有办法改变UID 如果有人能在这里帮助我,我将万分感激 同样,我也在尝试让用户创建一个用户名。看看: firebaseAuth.createUserWithEmailAndPassword(电子邮件,密码) .addOnCompleteL
firebaseAuth.createUserWithEmailAndPassword(电子邮件,密码)
.addOnCompleteListener(新的OnCompleteListener(){
@凌驾
未完成的公共void(@NonNull任务){
if(task.issusccessful()){
final FirebaseUser FirebaseUser=task.getResult().getUser();
任务updateTask=firebaseUser.updateProfile(
新UserProfileChangeRequest
.Builder()
.setDisplayName(name.build());
updateTask.addOnCompleteListener(新的OnCompleteListener(){
@凌驾
未完成的公共void(@NonNull任务){
mActivityHelper.dismissDialog();
if(task.issusccessful()){
StartSaveRedentials(firebaseUser,密码);
}
}
});
}
或者,您也可以简单地使用FirebaseUI,它封装了此身份验证流和许多其他身份验证流。看看:
firebaseAuth.createUserWithEmailAndPassword(电子邮件,密码)
.addOnCompleteListener(新的OnCompleteListener(){
@凌驾
未完成的公共void(@NonNull任务){
if(task.issusccessful()){
final FirebaseUser FirebaseUser=task.getResult().getUser();
任务updateTask=firebaseUser.updateProfile(
新UserProfileChangeRequest
.Builder()
.setDisplayName(name.build());
updateTask.addOnCompleteListener(新的OnCompleteListener(){
@凌驾
未完成的公共void(@NonNull任务){
mActivityHelper.dismissDialog();
if(task.issusccessful()){
StartSaveRedentials(firebaseUser,密码);
}
}
});
}
或者,您也可以简单地使用FirebaseUI,它封装了这个和许多其他身份验证流。我尝试过为它制作另一个表单,创建了一个用户名表单,也尝试过对它进行编码,但没有成功,什么都没有发生。。谢谢您的评论!我尝试过为它制作另一个表单,创建了一个用户名表单,尝试过合作同样,这也没用,什么也没发生。谢谢你的评论!我已经下载了他们如何做的示例,我根据自己的需要编辑了一些代码,但他们没有真正解释如何使用用户名,这取决于你所说的“用户名”。Firebase身份验证有“显示名称”的概念,对我来说是“Frank van Puffelen”。如果这是您要找的,请使用
setDisplayName()
/getDisplayName()
。如果这不是您要找的,您必须在问题中更具体地说明您的目标以及您已经尝试过的内容。我尝试过使用Displayname,但它不显示任何名称,因为您创建的帐户只需要电子邮件和密码。如果您知道如何设置/获取名称,那将是一个好主意非常感谢!我发布的代码显示了如何设置显示名称。通过呼叫即可完成。好的,非常感谢。不幸的是,我现在不在笔记本电脑旁,所以我明天会研究它!如果出现任何问题,我会与您联系,如果您同意的话。我已经下载了他们将如何进行设置的示例,我编辑了一些code是为了满足我的需要,但他们没有真正解释如何使用用户名,这可能取决于你所说的“用户名”是什么意思。Firebase身份验证有“显示名”的概念,对我来说就是“Frank van Puffelen”。如果这就是你要找的,请使用setDisplayName()
/getDisplayName()
。如果这不是您要找的,您必须在问题中更具体地说明您的目标以及您已经尝试过的内容。我尝试过使用Displayname,但它不显示任何名称,因为您创建的帐户只需要电子邮件和密码。如果您知道如何设置/获取名称,那将是一个好主意感谢!我发布的代码显示了如何设置显示名称。通过呼叫即可完成。好的,非常感谢。不幸的是,我现在不在笔记本电脑旁,所以我明天会查看它!如果出现任何问题,我会与您联系,如果您同意的话。
firebaseAuth.createUserWithEmailAndPassword(email, password)
.addOnCompleteListener(new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
if (task.isSuccessful()) {
final FirebaseUser firebaseUser = task.getResult().getUser();
Task<Void> updateTask = firebaseUser.updateProfile(
new UserProfileChangeRequest
.Builder()
.setDisplayName(name).build());
updateTask.addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
mActivityHelper.dismissDialog();
if (task.isSuccessful()) {
startSaveCredentials(firebaseUser, password);
}
}
});
}