因此,我目前正在尝试开发某种消息传递应用程序,该应用程序非常基础(仅供学习)。而且我坚持认为,应用程序必须侦听MySQL数据库上的任何更改(应用程序发送消息的地方),以便它可以更新其recyclerview并将数据放入其中。

我已经完成了向数据库发送数据并检索(使用Volley)数据的工作,但是我刚刚做了一个循环,每5秒钟重复一次,以查看是否有任何内容添加到数据库中,这是可行的,但是不好:/

我没有任何代码可以显示给您,因为我在这部分上没有做任何事情。问我是否需要更多详细信息:)

因此,我希望我的应用程序仅使用数据库进行自我更新。

感谢您抽出宝贵的时间来帮助我。

最佳答案

这是一个非常广泛的问题。如果我理解正确。您要检查服务器上的数据库是否已更新。此时您尝试的操作称为轮询。

您可以查看以下选项:


当有新消息发送到服务器时,将推送通知发送到设备。收到推送通知后,您的应用将进行API调用以提取新消息。
使用WebSocket。这是一种2路持久连接,您可以在其中以较低的开销发送/接收数据。
研究一些现有的解决方案,例如Firebase,Pusher Chatkit或任何其他提供商。


您仍然可以使用轮询。为了节省一些资源,您可以使用指数补偿并限制对服务器的呼叫次数。当收到新消息时,发送推送通知。

08-03 14:32
查看更多