我的Android應用程序我正在使用FirebaseDatabse
來編寫聊天應用程序。數據的結構是:如何使用FirebaseDatabase創建ChatOverViiew查詢不加載全部數據庫
"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);
並將其加載到一個FirebaseRecyclerAdapter(MessageData,ChatDetailsAdapter.MessageViewHolder)
但我現在想的是使一個ChatOverviewFragment
。它只會顯示每個用戶在數據庫中有對話的最新消息(就像在WhatsApp中一樣)。使用FirebaseRecyclerAdapter
意味着整個數據庫必須在可能存在的所有對話的所有消息中下載...
是不是有更好的方式來執行只針對每個用戶的第一條消息進行過濾的查詢活動用戶正在與對話?尤其是我不知道如何將它加載到FirebaseRecyclerAdapter
中。 THX :)
不只是限制結果的數量 - 我不想? – softwaresupply