2016-11-17 99 views
0

我在火力地堡這個數據庫,這是我的數據庫結構如何從Firebase中檢索所有孩子的價值?

My Database.json

My firebase structure.png

我如何獲得所有價值指數的,這是我的代碼:

ref.addChildEventListener(new ChildEventListener() { 
    @Override 
    public void onChildAdded(DataSnapshot dataSnapshot, String s) { 
     Map<String, Object> td = (HashMap<String,Object>) dataSnapshot.getValue(); 

     List<Object> values = new ArrayList<Object>(td.values()); 
     Log.d("values ", String.valueOf(values)); 
     Iterator<Object> iterator = values.iterator(); 
     int length = (int) dataSnapshot.getChildrenCount(); 
     String[] sampleString = new String[length]; 
     while(i < length) { 
      sampleString[i] = iterator.next().toString(); 
      Log.d(Integer.toString(i), sampleString[i]); 
      i++; 
     } 
    } 

那代碼只是從第一個值返回索引:

11-17 10:31:07.516 9032-9032/com.arf.tanamanku D/values: [112.788683, -7.281677, 4.983527183532715, 32.00, 1008, 62] 
11-17 10:31:07.516 9032-9032/com.arf.tanamanku D/0: 112.788683 
11-17 10:31:07.516 9032-9032/com.arf.tanamanku D/1: -7.281677 
11-17 10:31:07.516 9032-9032/com.arf.tanamanku D/2: 4.983527183532715 
11-17 10:31:07.516 9032-9032/com.arf.tanamanku D/3: 32.00 
11-17 10:31:07.516 9032-9032/com.arf.tanamanku D/4: 1008 
11-17 10:31:07.516 9032-9032/com.arf.tanamanku D/5: 62 
11-17 10:31:07.516 9032-9032/com.arf.tanamanku D/values: [112.788683, -7.281677, 4.983527183532715, 28.00, 1010, 83] 

如何從第一個值和第二個值中獲取所有索引?任何人都可以幫助我嗎?

+0

您已經在您的問題中包含了JSON樹圖片的鏈接。請用實際的JSON替換爲文本,您可以通過點擊Firebase數據庫控制檯中的導出按鈕輕鬆獲取。將JSON作爲文本可以搜索,使我們能夠輕鬆使用它來測試您的實際數據,並將其用於我們的答案中,並且通常只是一件好事。 –

+0

我編輯了我的聲明幷包含了我的數據庫的json文件,您可以下載它。我希望你能幫助我弗蘭克,謝謝。 –

回答

0

將偵聽器設置爲上一級的節點(也就是您要從中檢索所有值的節點的根節點)。 這將爲您提供一個HashMap,其中這些節點鍵爲HashMap鍵,節點值爲HashMap值。

+0

我已經在節點/數據上設置了監聽器,您可以在我的數據庫圖片中看到,但仍無法從/ Data獲取節點密鑰。我剛剛獲得第一個價值? –

相關問題