2017-10-10 6 views
0

firebaseデータベースの項目「001」のIDを取得する方法。私はこのデータベースを手作業で作成しました。Android Firebase:ID取得

"movies" : { 
    "action" : { 
     "001" : { 
       "name" : "Firebase", 
       "director": "Google" 
       } 
       } 
      } 

答えて

2

firebaseは、キーペア値として表されるjson形式のデータを格納します。

したがって、データ構造内のキーを表すアイテム "001"を検索したい場合は、

"001"を取得するには、Firebase addListenerForSingleValueEventを使用できます。

DatabaseReference mDatabaseReference =FirebaseDatabase.getInstance().getReference().child("movies").child("action"); 
mDatabaseReference.addListenerForSingleValueEvent(new ValueEventListener() { 
      @Override 
      public void onDataChange(DataSnapshot dataSnapshot) { 
       if (dataSnapshot.getValue() != null) { 
        HashMap mapRecord = (HashMap) dataSnapshot.getValue(); 
        Iterator listKey = mapRecord.keySet().iterator(); 
        while (listKey.hasNext()) { 
         String id = listKey.next().toString(); 
        //you get you key here  
        } 
       } 
      } 

      @Override 
      public void onCancelled(DatabaseError databaseError) { 

      } 
     }); 
+1

コードでJSONモデルの「001」が見つかりません。また、マップに変換しないで、 'dataSnapshot.getChild(" name ")。getValue(String.class)'を使ってプロパティを取得することをお勧めします。 –

関連する問題