2016-09-13 125 views
0

我試圖從firebase數據庫查詢數據。下面的圖片顯示數據結構。 enter image description here .IM試圖查詢由數據消息(長值是在毫秒的時間)。下面是代碼:Android Firebase查詢數據

database.child("Market").child("data").child("messages").orderByKey().startAt("1473777076600").addListenerForSingleValueEvent(new ValueEventListener() { 
     @Override 
     public void onDataChange(DataSnapshot dataSnapshot) { 

      MessageFirebaseHelper data = dataSnapshot.getValue(MessageFirebaseHelper.class); 

      Object[] messageKeys = data.getMessages().keySet().toArray(); 

      for(int i=0;i<messageKeys.length;i++){ 
       Logger.i(TAG, " messages keys : " + messageKeys[i]); 
      } 

     } 

     @Override 
     public void onCancelled(DatabaseError databaseError) { 

     } 
    }); 

下面是錯誤:

W/ClassMapper(8838): No setter/field for 1473777892283 found on class com.app.MessageFirebaseHelper 

作爲鍵動態地改變,創建getter/setter是不正確的。 我如何獲取數據並保存?

TRY 2:

我嘗試不同的方式查詢:

database.child("Market").child("data").orderByChild("time") 
.startAt("1473777076600").addListenerForSingleValueEvent(new ValueEventListener() { 

這並不返回任何值。

回答

1

嘗試這樣,,

public void onDataChange(DataSnapshot dataSnapshot) { 

    for (DataSnapshot eventSnapshot : dataSnapshot.getChildren()) { 

      yourModel mModel = eventSnapshot.getValue(yourModel.class); 
      Log.e("DATA" ,""+ mModel); 
    } 

} 
+0

曾任職謝謝:) – Meher