我正在开发一个android聊天应用程序。我使用room(sqlite持久性库)来存储数据。我有两张table:朋友和留言。我想显示每个会话的最新消息。
朋友表:
data class FriendsModel(
@PrimaryKey
@SerialName("friendID") var friendID: String,
@SerialName("friendName") var friendName: String?,
@SerialName("friendPublicKey") var friendPublicKey: String?,
@SerialName("sharedSecretKey") var sharedSecretKey: String?
)
消息表:
data class MessageModel(
@PrimaryKey(autoGenerate = true)
@SerialName("id") var _id: Int = 0,
@SerialName("from") var from: String,
@SerialName("to") var to :String,
@SerialName("message") var message: String?,
@SerialName("date") var date: String?
)
假数据举个例子:
注意,user1向user2发送3条消息,user2也向user1发送3条消息。我想知道每次谈话的最新消息。最后一条消息由谁发送并不重要(“发件人”或“收件人”字段)
回报应该是这样的:
我试着按日期分类,按“从”和“到”分组。但它给出了user1发送给user2和user2同时发送给user1的最后一条消息。我想消除这个案子。
暂无答案!
目前还没有任何答案,快来回答吧!