当我调试currentUser时,它会显示{zzi @ 7093}值,为什么它会显示在数组中,但我只注册了一个用户。
mAuth = FirebaseAuth.getInstance();
currentUser = mAuth.getCurrentUser();
@Override
public void onStart() {
super.onStart();
if (currentUser != null) {
databaseReference.child(USERS).child(mAuth.getCurrentUser().getUid()).child(ONLINE).setValue(TRUE);
}
}
@Override
public void onPause() {
super.onPause();
if (currentUser != null) {
databaseReference.child(USERS).child(mAuth.getCurrentUser().getUid()).child(ONLINE).setValue(ServerValue.TIMESTAMP);
}
}
}
答案 0 :(得分:1)
您所看到的很可能是对象的哈希码。因此,{zzi@7093}
只是一个不透明的字符串表示形式,可以唯一地标识应用程序当前实例中的用户对象。
如果您想进一步了解该用户,则应调用其公共方法,例如您已经在使用的getUid()
。
答案 1 :(得分:0)
那是object
,而不是array
。 getCurrentUser()
方法返回FirebaseUser
,因此不可能,该方法返回array
。
请参阅FirebaseAuth#getCurrentUser()的文档
从文档中:
返回当前登录的FirebaseUser;如果没有,则返回null。
使用getCurrentUser()!= null检查用户是否登录。
返回登录用户或为空