当 MySQL 中有任何更新时,在 android 中获取通知

Posted

技术标签:

【中文标题】当 MySQL 中有任何更新时,在 android 中获取通知【英文标题】:Get Notification in android when there is any update in MySQL 【发布时间】:2012-11-29 00:04:24 【问题描述】:

我想根据 mysql 的变化来实现通知。我有一个在运行时向设备发送任务的应用程序。当我在 MySQL 的任务表中插入任务时,我希望在我的 android 设备上收到通知。 我可以使用 php 从 MySQL 获取所有任务。而且我还进行了登录,在其中我获取用户名和密码并从 MySQL 验证它。和我为任务所做的一样。获得任务。 喜欢this,现在我正在关注tutorial 以获取实施通知。但是在 MySQL 中插入任务时如何获得通知。我必须创建一个将在后台运行的服务,但是如果任务表有任何变化,我将如何获得。 ?

【问题讨论】:

【参考方案1】:

您可以在 MySQL 数据库中创建一个触发器,并在每次在该表中插入一行时运行一个外部应用程序。更多信息:http://dev.mysql.com/doc/refman/5.1/en/faqs-triggers.html#qandaitem-B-5-1-10

【讨论】:

好吧,愿原力与你同在。【参考方案2】:

你应该看看Firebase Cloud Messaging,它提供了无需轮询就可以向设备发送消息的功能。

【讨论】:

不建议通过云消息发送大量数据,而是用它来通知android设备它应该获取的数据库中有变化。【参考方案3】:

您可以使用MySQL triggers 来捕捉更改。在触发代码中,您将执行INSERT INTO changes_log …,您可以查看changes_log 表中的新记录。

【讨论】:

是的,但是您需要另一个触发器来查看 changes_log 表,或者如果您编写了一个观察者,为什么要额外的步骤? @m4t1t0 您的解决方案肯定更好。我之前不知道触发器可以执行外部程序。我建议创建一个 changes_log,因为可以使这个新表更简单或更适合观察者处理。

以上是关于当 MySQL 中有任何更新时,在 android 中获取通知的主要内容,如果未能解决你的问题,请参考以下文章

当 appstore 中有新版本可用时,通过代码检查和更新应用程序

当我从android访问Java servlet时mysql数据库没有更新

仅当自动增量数据相等时才从另一个表列更新 mysql 列

使用jquery是或否投票将数据插入mysql

Android 在电话簿更新时通知(内容观察者)

MySQL 数据变化时更新 React 数据