【发布时间】:2017-04-13 12:41:59
【问题描述】:
我的 Android 应用程序正在使用 FirebaseDatabse 编写聊天应用程序。数据结构为:
"message": {
"user1_guid": {
"user2_guid": {
"messageGuid": < MessageObject > ,
"messageGuid": < MessageObject > ,
"messageGuid": < MessageObject > ,
...
},
"user_n_guid": {
"messageGuid": < MessageObject > ,
"messageGuid": < MessageObject > ,
"messageGuid": < MessageObject > ,
...
},
},
"user2_guid": {
"user1_guid": {
"messageGuid": < MessageObject > ,
"messageGuid": < MessageObject > ,
"messageGuid": < MessageObject > ,
...
},
"user_n_guid": {
"messageGuid": < MessageObject > ,
"messageGuid": < MessageObject > ,
"messageGuid": < MessageObject > ,
...
},
}
}
要加载 user1 的聊天详细信息,我可以这样做:
final DatabaseReference lDatabaseReference = lDatabase
.child("message")
.child(sender)
.child(mChatPartnerGuid);
并将其加载到 A FirebaseRecyclerAdapter(MessageData,ChatDetailsAdapter.MessageViewHolder)
但我现在想要的是创建一个ChatOverviewFragment。它应该只显示每个用户的最新消息,数据库中有一个对话(就像在 WhatsApp 中一样)。使用FirebaseRecyclerAdapter 意味着必须在可能存在的所有对话的所有消息中下载整个数据库...
难道没有更好的方法来进行查询,只过滤活动用户与之对话的每个用户的第一条消息吗?特别是我不知道如何将它加载到FirebaseRecyclerAdapter 中。谢谢 :)
【问题讨论】:
标签: android firebase firebase-realtime-database firebaseui