android - 如何使用推送通知同步 SQLite 和 MySQL 数据库?

标签 android mysql database sqlite

我在 Android 上有一个 SQLite 数据库,在服务器上有一个 MySQL 数据库。当用户在手机上编辑数据或在网站上编辑数据时,我想同步这些数据库。

我知道当用户在手机上进行更改时如何更新服务器上的 MySQL 数据库,但我不知道当用户在网站上进行更改时如何更新 Android 数据库。

我已经阅读了推送通知并相信这是一个很好的方法,但我有几个问题:

  1. 当用户通过网站更新数据时,它会向该用户的手机发送推送通知,告知已进行更改。此推送通知能否触发以使用对服务器数据库所做的新更改来更新 Android 的数据库?

  2. 如果用户关闭推送通知怎么办?我还能触发他们的 Android 数据库更新吗?

我还阅读了有关 SQLite 和 MySQL 数据库同步的内容,并找到了这篇文章 SQLite and MySQL sync但没有发现该帖子对我的情况有帮助。

推送通知是一个好方法还是我应该使用不同的方法?

简而言之 - 我想要一种方法让 Android 设备检测 MySQL 数据库上的更改并更新其 SQLite 数据库,而无需用户启动同步。

最佳答案

恐怕我没有使用过推送通知。但一个解决方案可能是:您可以从启动器 onCreate() 创建一个对异步轮询事件的早期方法调用,该启动器查找服务器以查看是否已在 MySQL 中注册任何更改(通过某种 API),并且然后以这种方式更新SQLite?由于这是启动时发生的第一件事,从技术上讲,用户并没有启动它。除非您定期重复轮询,否则这不会在应用程序使用期间更新吗?

关于android - 如何使用推送通知同步 SQLite 和 MySQL 数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34258860/

相关文章:

android - java.lang.NoSuchMethodError : android. 应用程序通知$Builder.setColor

MySQL 触发器 - 如果超出范围,则不接受记录更新

c# - MySQL、EF6 和 Database.CreateIfNotExists

database - 检查某个数据库条目是否已存在于 DIesel/Rust 中

database - H2 数据库可以有多大?

android - 为 NavigationView 保存实例?

java - 与Android中的equals()方法比较

php - Mysql,网站 'unable to select database'

php - php 中看似相同的 sql 查询,但插入了额外的一行

android - 使用 AsyncTask 的服务每 X 次执行一次请求