Firebaseデータベースから特定のユーザのデータを取得します

Afiqなし:

私が取得しようとしていますdataからFirebase Realtime Databaseそれは働いています。私の質問はからのテキストを設定する方法ですuserDatabase結果は次のようになりますnullし、私はそれを読んでいないと思いますdatabase使用中userID

    FirebaseUser user = firebaseAuth.getCurrentUser();

    String userid = user.getUid();

    txvEmail = (TextView) findViewById(R.id.txvEmail);
    txvEmail.setText("Welcome "+user.getEmail());

    txvName = (TextView) findViewById(R.id.txvName);
    txvAdd =(TextView) findViewById(R.id.txvAdd);

    userDatabase = new UserDatabase();

    reff = FirebaseDatabase.getInstance().getReference("Member").child(userid);
    reff.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(@NonNull DataSnapshot dataSnapshot) {

            txvName.setText(" "+userDatabase.getFirstName()+" "+userDatabase.getLastName());

        }

        @Override
        public void onCancelled(@NonNull DatabaseError databaseError) {

        }
    });
シリルでモラレス:

私はあなたがスナップショットの値にモデルクラスを定義する必要がありますだと思います

txvEmail = (TextView) findViewById(R.id.txvEmail);
txvEmail.setText("Welcome "+user.getEmail());

txvName = (TextView) findViewById(R.id.txvName);
txvAdd =(TextView) findViewById(R.id.txvAdd);

userDatabase = new UserDatabase();

reff = FirebaseDatabase.getInstance().getReference("Member").child(userid);
reff.addValueEventListener(new ValueEventListener() {
    @Override
    public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
        //new code
        for(DataSnapshot snap: dataSnapshot.getChildren()){
            //you must define your class model to the value of snapshots
            userDatabase user = snap.getValue(userDatabase.Class);
             txvName.setText(" "+user.getFirstName()+" "+user.getLastName());
       }


    }

    @Override
    public void onCancelled(@NonNull DatabaseError databaseError) {

    }
});

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=313905&siteId=1