2017-10-10 132 views
0

如何在Firebase數據庫中獲取項目「001」的ID。我已這個數據庫JSON格式手動Android Firebase:檢索ID

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

回答

2

火力存儲數據被表示爲密鑰對值。

所以,如果你想檢索代表你的數據結構中的關鍵的項目「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)'來獲取屬性。 –