我使用push在firebase上保存数据,它使用自己的push ID自动保存,现在正尝试检索用于历史记录的数据,但由于该ID我无法。这就是我所拥有的
mDatabase = FirebaseDatabase.getInstance().getReference();
mDatabase.child(Config.MESSAGE).child(userName).addListenerForSingleValueEvent(
new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
//Getting the data from snapshot
Message message = dataSnapshot.getValue(Message.class);
for (int i = 0; i < 11; i++) {
message.setMessage(message.getMessage() + i);
message.setTitle(message.getTitle() + i);
message.setTime(message.getTime() + i);
System.out.println("we in" + message.getTitle());
/******** Take Model Object in ArrayList **********/
CustomListViewValuesArr.add(message);
Resources res =getResources();
/**************** Create Custom Adapter *********/
adapter=new CustomAdapter(CustomListView, CustomListViewValuesArr,res);
list.setAdapter(adapter);
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
// Log.w(TAG, "getUser:onCancelled", databaseError.toException());
// ...
}
});
}
这就是数据的样子
-KRjrOKWwCa6zmhyyhvf
body: "Hi how you doing"
time: "test"
title: "push"
-KRjjiiuwCa6zmhKVsro
body: "Hi how you doing"
time: "test"
title: "push"
-KRjrOef45a6zmhKbytr
body: "Hi how you doing"
time: "test"
title: "push"
我每次都变得虚无
最佳答案
看起来您有一个用户消息列表。但是您的代码似乎将结果视为一条消息。这是行不通的。
如果确实发生了这种情况,请尝试:
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot messageSnapshot: dataSnapshot.getChildren()) {
Message message = messageSnapshot.getValue(Message.class);
我们最近在Firebase documentation on querying data中添加了有关此示例。
关于android - 如何从Push Firebase数据中检索数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39578577/