java - Firebase 身份验证 - 在控制台中创建用户但进度条不会停止旋转并且任务未完成?
问题描述
因此,我正在为移动应用程序填写注册表单,当用户填写注册表并提交时,进度条会出现并无限期地旋转,令人惊讶的是没有打印任何消息。尽管如此,用户确实出现在 Firebase 控制台中,这让我感到难以置信的困惑。
代码:
progressBar.setVisibility(View.VISIBLE);
mAuth.createUserWithEmailAndPassword(email, password)
.addOnCompleteListener(new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
if(task.isSuccessful()) {
User user = new User(fullName, rating, email);
System.out.println(user.fullName);
FirebaseDatabase.getInstance().getReference("Users")
.child(FirebaseAuth.getInstance().getCurrentUser().getUid())
.setValue(user).addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
if(task.isSuccessful()) {
Toast.makeText(RegisterUser.this, "User has been registered succesfully!", Toast.LENGTH_LONG).show();
System.out.println("Success!");
progressBar.setVisibility(View.GONE);
}else {
Toast.makeText(RegisterUser.this, "Failed to register!
Try again!", Toast.LENGTH_LONG).show();
System.out.println("Failure!");
progressBar.setVisibility(View.GONE);
}
}
});
}
}
});
谢谢!
解决方案
FirebaseDatabase.getInstance().getReference("Users")
.child(FirebaseAuth.getInstance().getCurrentUser().getUid())
.setValue(user).addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
if(task.isSuccessful()) {
Toast.makeText(RegisterUser.this, "User has been registered succesfully!", Toast.LENGTH_LONG).show();
System.out.println("Success!");
progressBar.setVisibility(View.GONE);
}else {
Toast.makeText(RegisterUser.this, "Failed to register!
Try again!", Toast.LENGTH_LONG).show();
System.out.println("Failure!");
progressBar.setVisibility(View.GONE);
}
}
}).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
progressBar.setVisibility(View.GONE)
}
});
添加此失败侦听器。所以你可以得到失败的消息或做你想做的事。
推荐阅读
- java - 使用 DataJpaTest spring boot 2.1.0 更新失败
- ios - 图像视图无法识别我的点击手势
- c# - 如何使用 Visual Studio Resharper 快捷键(Alt+Enter)引入和初始化私有字段?
- tinymce - tinymce 在加载时添加额外的 ul 标签
- f# - 关于 F# TypeProvider 静态参数语法
- google-cloud-messaging - 当应用程序在后台时,我们应该处理 InstanceIDListenerService 吗?
- python-3.x - catplot 的 Seaborn 问题
- android - 警告:不接受软件包 Android SDK Build-Tools 26.0.2 的许可
- layout - JavaFx 从 TilePane 中删除项目
- django - 有没有办法使用 django 验证用户和密码?