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ですべてのログを印刷しないdid'tとしての私のイベントリスナーは発生しません。私はonDataChange()
を起動しないので、loginID
のnullが返されるたびに関数がトリガーされないと思います。誰かが私に何が欠けているか教えてもらえるか?私は関連するすべてのドキュメントを参照しましたが、私は本当にここで何が問題か分かりません。は、上記
ありがとう~~
あなたのuserIDDatabaseReferenceが "login"を指摘したのはなぜですか? –
@AmineHarbaoui、ops、my fault、ログインノードからloginIDを取得すると仮定しました。下の図を参照してください。 –
uidが同じかどうかをチェックし、onDataChange関数が呼び出されたかどうかを確認しますか?ログが出力されないので、 –