I have given here a snap of my firebase chatrooms. The code I included here can retrieve a message of a single node. I want to search all the chatrooms with single query for new messages so that I can send a push notification. Also how to know if a message is new and which is the last message I got?
private void loadEventListFromDatabase()
{
DatabaseRef.userRef.child("ChatRoom").child(roomID).addChildEventListener(new ChildEventListener() {
@Override
public void onChildAdded(@NonNull DataSnapshot dataSnapshot, @Nullable String s) {
GetMessage getMessage = dataSnapshot.getValue(GetMessage.class);
Message message = new Message(getMessage.getMessageBody(),getMessage.getCreator(),imageCode);
recyclerViewRCV.setLayoutManager(getMyLinearLayout());
recieveMessageList.add(message);
recieveMsgAdapter.notifyDataSetChanged();
}
@Override
public void onChildChanged(@NonNull DataSnapshot dataSnapshot, @Nullable String s) {
}
@Override
public void onChildRemoved(@NonNull DataSnapshot dataSnapshot) {
}
@Override
public void onChildMoved(@NonNull DataSnapshot dataSnapshot, @Nullable String s) {
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
}