2017-09-02 22 views
-1

すべての値が取得されます。この のように私は電子メールではなく、名前の値を取得する必要があります。私はちょうどdatasnapshot firebaseでは、Datasnapオブジェクトのfirebaseからアンドロイドのデータを取得しようとしているときに、アンドロイドの値が1つ取得されます。

DataSnapshot { key = users, value = {-Kt1RvWFdpJbPalmZ6Mc={name=dd, [email protected]}, -Kt1RV6lQ-IRRMtY__0s={name=pooja, [email protected]}, -Kt1RxjkSfkaqkdPepeX={name=mm, [email protected]}, -Kt1Oqj4G_LueUpRanUJ={name=dipak, [email protected]}, -Kt1R2cx4p4FoHOgrLBN={name=ss, [email protected]}, -Kt1Q2VypwzlUvcP_8z8={name=dhiraj, [email protected]}} } 

答えて

0

は名前だけを取得するには、usersノードがFirebaseルートの直接の子であると仮定すると、私を助けるname.please取得したいメールを取得する必要がいけないfirebase.becauseから単一の値のみをretriveする方法、私はあなたが次のコードを使用することをお勧め:

DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference(); 
DatabaseReference usersRef = rootRef.child("users"); 
ValueEventListener eventListener = new ValueEventListener() { 
    @Override 
    public void onDataChange(DataSnapshot dataSnapshot) { 
     for(DataSnapshot ds : dataSnapshot.getChildren()) { 
      String name = ds.child("name").getValue(String.class); 
      Log.d("TAG", name); 
     } 
    } 

    @Override 
    public void onCancelled(DatabaseError databaseError) {} 
}; 
usersRef.addListenerForSingleValueEvent(eventListener); 

あなたの出力は次のようになります。

dd 
pooja 
mm 
dipak 
ss 
dhiraj 
関連する問題