Android Firebase查询数据 [英] Android Firebase query data
问题描述
<$ ()函数的一个子类,这个函数的作用是将数据库中的数据加载到数据库中, {
@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屋!