-1
private FirebaseAuth firebaseAuth=FirebaseAuth.getInstance();;
private FirebaseUser firebaseUser=firebaseAuth.getCurrentUser();
/******************************After declaration**************************************/
userIDDatabaseReference=FirebaseDatabase.getInstance().getReference("login");
userIDDatabaseReference.child(firebaseUser.getUid()).addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
Log.w("Show out:", "In Firebase ValueEventListener");
LoginClass tempClass=dataSnapshot.getValue(LoginClass.class);
loginID=tempClass.getLoginID();
}
@Override
public void onCancelled(DatabaseError databaseError) {
System.out.println("Database Error: "+databaseError.getDetails());
}
});
以上 是我的编码,我想找回loginID
但我的事件监听器不火的log.w我以前不不,我logcat的打印任何日志,我认为我的函数不会触发onDataChange()
,因为它每次都会返回空值为loginID
。有人能告诉我我错过了什么吗?我提到所有相关的文档,我真的不知道这里有什么问题。@Firebase的事件侦听器检索数据不起作用
谢谢~~
为什么你的userIDDatabaseReference指向“登录”? –
@AmineHarbaoui,ops,我的错,我想从login节点检索loginID,请参考下面的图片 –
检查uid是否相同,并检查onDataChange函数是否被调用? –