0
私はValueEventListenerを持っていて、内部コードに決して到達していません。私のアプリは認証されていますが、データを取得することができず、私は何が欠けているのか分かりません。下のコードでは、私がチェックすると、uidが正しい値を持ち、データパス( "Users/[uid]")は正しいが、値イベントリスナーの内部コードに決して到達していない。また、同じ結果を得て、ルートにリスナーを配置しようとしました。ValueEventListenerは一切入力されていません
メニューオプションを使用してFirebaseをセットアップし、認証とリアルタイムデータベースをアプリケーションに追加しました。認証は正常に動作しているので、リアルタイムデータベースに設定する必要があるものがあるかどうか疑問に思っています。私はドキュメンテーションを読んで多くの例を見てきましたが、私は何も見当たりません。
uid = FirebaseAuth.getInstance().getCurrentUser().getUid().toString();
DatabaseReference userRef = ref.child("Users").child(uid).getRef();
ValueEventListener userListener = new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
User user = dataSnapshot.getValue(User.class);
if (user == null) {
SettingsLoad();
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
Log.e("User", "User not found");
}
};
userRef.addListenerForSingleValueEvent(userListener);
'child()'の後に '.getRef()'を呼び出さないでください。それは不要で、ある時点で問題を引き起こします(ただし、現在の問題の原因ではありません)。ちょうど: 'DatabaseReference userRef = ref.child(" Users ")。子(uid);'。 –