過去5日間、Firebaseデータベースからデータフィールドを取得しようとしましたが、成功しませんでした。データをフェッチするFirebaseデータベースからデータフィールドを取得できません
コード::これは私のデータベースは次のようになります
private void alterTextView(final String id) {
if(id!=null) {
mDatabase.child("Users").child(id).addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
UserInformation userInformation = dataSnapshot.getValue(UserInformation.class);
String name = (String) userInformation.getName();
Log.d("Main Activity",name);
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
mWelcomeUserMessage.setText("Welcome, "+name);
}
}`
私は名前が「NULL」(ログを参照)である理由はわかりません。 誰かが私が間違っていることを教えてもらえますか?
PS:私のUserInformation.javaクラスに空のデフォルトのコンストラクタ、getters、およびsetterを定義しました。次のように
また、mDatabaseが初期化されます。 mDatabase = FirebaseDatabase.getInstance().getReference();
ここであなたのdataSnapshotの.toString()を過去にすることができますか? –
私は理解していません..私はdataSnapshotの.toString()を持っていません。 私はgetValue()で十分だろうと思った? –
これは、キーと値を使ってjsonを印刷します。 Log.d(TAG、 "受信データ:" + dataSnapshot.toString()); –