Android Firebase查询数据 [英] Android Firebase query data

查看:127
本文介绍了Android Firebase查询数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图从firebase数据库中查询数据。下面的图片显示数据结构。 。我试图通过数据查询消息(长时间值是以毫秒为单位的时间)。下面是代码:

<$ ()函数的一个子类,这个函数的作用是将数据库中的数据加载到数据库中, {
@Override
public void onDataChange(DataSnapshot dataSnapshot){

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

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

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

}
$ b $ @覆盖
public void onCancelled(DatabaseError databaseError){$ b预读信息b $ b}
});

下面是错误:

<$ p $在class com.app.MessageFirebaseHelper上找到1473777892283没有setter / field。

当密钥动态变化时,创建getter / setter是不正确的。
如何获取数据并保存?



TRY 2:

不同的方式查询:

$ p $ database.child(Market)。child(data)。orderByChild(time )
.startAt(1473777076600)。addListenerForSingleValueEvent(new ValueEventListener(){

不会返回任何值。

解决方案

试试像这样,



<$ (DataSnapshot eventSnapshot:dataSnapshot.getChildren()){

yourModel mModel = eventSnapshot($ DataSnapshot dataSnapshot){

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

}


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.

解决方案

Try like this,,

public void onDataChange(DataSnapshot dataSnapshot) {

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

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

}

这篇关于Android Firebase查询数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆