2016-09-13 85 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