在我的网站上,我已经建立了一个聊天室,支持多个房间。当用户加入这个房间时,一个会话会被放置到数据库中,这样如果他们试图再次在另一个浏览器窗口中加入这个房间,他们就会被锁在外面。
它是这样工作的
1. Join the chatroom page
2. Connect to chatroom #main
If the user has a session in the database for #main
--- Block user from joining
else
--- Load chatroom
当聊天室关闭客户端或用户使用/quit命令终止那里的连接时,他们的所有会话都会被删除,这很
我在Firebase上遇到了一些问题。我想做的是,如果聊天室不存在,创建一个新的聊天室,否则,获取已有的聊天室ID。到目前为止,我所实现的是:
数据库结构如下:
chatrooms
chatroomID
participantID1 *(can be senderKey or recipientKey)*
participantID2 *(can be senderKey or recipientKey)*
latestMessage
我创建新聊天室的代码如下:
let promiseRoomKey = new Promise
我一直在研究如何在ListView中显示来自DB的数据,同时跟踪数据库中的变化。
假设我有一个聊天应用程序,它显示了我所在的所有聊天室的ListView。
对适配器的查询是SELECT * FROM CHAT_ROOM ORDER BY UPTDATE_TIME,这意味着我希望首先显示具有最近活动的聊天室。由于我在ChatroomListActivity中,一条消息被接收到聊天室3号,这意味着它现在需要成为聊天室一号,并相应地重新排列单元格。
我知道装载机能够在后台重新查询,但正如我的中回答的那样,装载机似乎还不够好。
是否有一种实时观察数据库变化的不同机制?