android - 当 MySQL 数据库发生变化时如何通知我的 Android 应用程序

标签 android mysql database servlets triggers

我有一个关于 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/

相关文章:

java - 在 Android 上禁用自动布局更改

android - 使用网络和 gps 卫星 Android 的最简单方法

sql-server - Visual Studio 数据库架构比较非常慢

android - Gradle同步失败:无法为参数> [directory 'libs']找到方法compile()

android - Glide 。缓存到外部存储(SD 卡)

sql - 按两个平均值之间的差值排序

php - 将数据库值从 html 表超链接传递到下一页的 SQL 查询

javascript - 使用ajax和php根据文本框更改更改查询

database - 一对多的可扩展性和获取许多的效率 - parse.com

database - 在小型 Web 应用程序中存储 session 中的数据库连接