Android Firebase query data

落爺英雄遲暮 提交于 2020-01-07 03:01:10

问题


Im trying to query data from firebase database.Below images show data structure. .Im trying to query messages by data(long value is the time in milli seconds).Below is the code :

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) {

        }
    });

Below is the error:

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

As the keys change dynamically, creating getter/setter is not correct. How do i get the data and save it ?

TRY 2:

I tried in different way, Query :

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

This does not return any value.


回答1:


Try like this,,

public void onDataChange(DataSnapshot dataSnapshot) {

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

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

}


来源:https://stackoverflow.com/questions/39476997/android-firebase-query-data

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!