【发布时间】:2018-11-27 11:23:37
【问题描述】:
我正在使用 Firebase 身份验证(电子邮件和密码)和 Firebase 数据库。 我正在尝试在成功注册后写入数据库。 我正在使用 Firebase 助手提供的简单数据库写入查询:
// Write a message to the database
FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference myRef = database.getReference("message");
myRef.setValue("Hello, World!");
如果我只是在活动的onCreate 方法下编写它确实有效,但是当我在Auth成功监听器中编写它时,帐户确实注册了,但消息没有写入数据库:
// [START sign_in_with_email]
mAuth.signInWithEmailAndPassword(email, password)
.addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
if (task.isSuccessful()) {
// Write a message to the database
FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference myRef = database.getReference("message");
myRef.setValue("Hello, World!");
FirebaseUser user = mAuth.getCurrentUser();
updateUI(user);
//rest of code
}
【问题讨论】:
-
可以显示日志吗
-
如果您在
onComplete()方法中使用以下代码行Log.d(TAG, user.getUid());,它会打印在logcat 中吗?请回复@AlexMamo -
@AlexMamo,不,它不会打印在 logcat 中
-
@Lucem,日志的哪一部分?很长
-
@Fireio 所以这意味着认证过程没有完成,对吧?您是否尝试添加 if 语句的 else 部分并使用
task.getException().getMessage()来查看是否有问题?
标签: android firebase firebase-realtime-database firebase-authentication