我正在使用android和firebase制作聊天应用程序,并且我试图仅获取每个用户的最新消息。我设法做到了,但我相信有一种更简便快捷的方式,我认为自己的方式非常慢,因为我会遍历所有孩子的
我在firebase的数据库看起来像这样
对不起,我还没有上传照片的权限,因此您必须打开照片。
我的代码是
messageDatabaseReference = firebaseDatabase.getReference().child("message");
childEventListener = new ChildEventListener() {
@Override
public void onChildAdded(@NonNull DataSnapshot dataSnapshot, @Nullable String s) {
int counter=0;
for (DataSnapshot child : dataSnapshot.getChildren()) {
counter++;
if(counter==dataSnapshot.getChildrenCount()){
Message message = child.getValue(Message.class);
messageAdapter.add(message);
}
}
}
public void onChildChanged(@NonNull DataSnapshot dataSnapshot, @Nullable String s) { }
public void onChildRemoved(@NonNull DataSnapshot dataSnapshot) { }
public void onChildMoved(@NonNull DataSnapshot dataSnapshot, @Nullable String s) { }
public void onCancelled(@NonNull DatabaseError databaseError) { }
};
messageDatabaseReference.addChildEventListener(childEventListener);