我有一个关于 MySQL 实时通知的问题。 我希望当 MySQL 数据库的特定表发生更改时,数据库会通知我的 Android 应用程序执行某些操作。
可以做吗?我听说触发器可以提供帮助,但我在网络上没有找到任何相关信息,尤其是对于 Android。
我正在为大学的 Android 项目创建一个实时聊天应用程序。项目中需要使用servlet,所以我的servlet向数据库发出请求并将数据发送到应用程序。为此,应用程序每秒向 servlet 发出 GET 请求以获取新消息。我想避免仅在数据库发生更改时才发出这些请求并更新消息列表。我知道可以使用 firebase 来完成,但必须使用 servlet,我想知道是否有办法在发生此更改时通知应用程序。
消息通过对更新数据库的 servlet 的 POST 请求插入到数据库中;有关消息的信息是从应用程序中的编辑文本中获取的,并使用发送按钮发出请求,因此我要做的就是在数据库中检测到新消息时推送 Android 应用程序。
最佳答案
大概您有一些代码组件向数据库发送命令。如果是,那么您可以在其中添加代码以通过 websockets 或类似的方式将通知发布到您的应用程序。数据库中的触发器是有代价的,如果需要大量触发器,则应避免使用。 正如已经提到的,应用程序不断轮询、寻找更改也是昂贵的,最好避免。
关于android - 当 MySQL 数据库发生变化时如何通知我的 Android 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56638609/