将 SQLite/Android 数据库表同步到远程 MySQL 数据库表(通过 PHP)

Posted

技术标签:

【中文标题】将 SQLite/Android 数据库表同步到远程 MySQL 数据库表(通过 PHP)【英文标题】:Sync SQLite/Android database table to remote MySQL database table (via PHP) 【发布时间】:2011-07-28 09:58:15 【问题描述】:

我正在尝试在第一次运行程序时创建一个 SQLite 数据库,其中包含一个包含 7 行的表,旨在与远程服务器上的 mysql 数据库上的表相匹配。所以我的想法是:

(1) 仅在第一个应用程序运行时,创建数据库、表和具有所需条目的行数。

(2) 在所有运行(包括第一次运行)中轮询远程 MySQL 数据库(通过 php),该数据库包含一个带有时间戳列的表,如果满足时间戳条件(即新条目已放置在数据库),之后的所有条目都将添加到android手机上的SQLite数据库中。

如果有人可以为我指出正确的方向或给我一些关于这方面任何方面的基本代码,那就太好了 - 谢谢。

【问题讨论】:

【参考方案1】:

嗯,没有任何灵丹妙药可以将 android 与云中的数据库同步。由于您只处理 7 行,我将使用 AsyncTask 和 http 客户端向您的 php 页面发送 get 请求,并将 7 行和时间戳作为 json 文档返回。然后我会查询您本地的 sqlite 数据库并从中获取行和时间戳。然后,您可以遍历 7 行并根据需要更新 sqlite。那会很容易。

如果您愿意使用不同的数据库,您可能想研究 couchDB,他们有一个 android 客户端(测试版),可以与云中的 couchDB 同步。您可以在 cloudant.com 免费创建一个 couchDB。如果你想采用这种方法,请去谷歌“couchbase android”。

【讨论】:

【参考方案2】:

同意 nickfox 的观点,如果它只有 7 行,那么像 AsyncTask 这样简单的东西将是一个不错的选择。

但是,如果您认为可能需要同步更多数据并且正在寻找选项,我将添加另一个选项:Oracle 数据库。您可以使用Oracle Database Mobile Server 在 SQLite 数据库和在其他地方运行的 Oracle 数据库之间同步数据。

这为您提供了两全其美的优势 - 轻量级、易于使用和在 Android 设备上部署 SQLite 数据库和应用程序,企业级全功能、可扩展、高性能 Oracle 数据库在公司内部或外部运行云和移动服务器之间,以确保数据保持同步。

祝您在搜索和实施中好运。

【讨论】:

以上是关于将 SQLite/Android 数据库表同步到远程 MySQL 数据库表(通过 PHP)的主要内容,如果未能解决你的问题,请参考以下文章

SQLite Android中未显示数据库表[重复]

如何将大型 JSON 数据从服务器存储到 SQLITE Android?

提要表 2 和表 1 数据 SQLite Android Studio

解析本地数据存储以替代 Core Data (iOS) 和 SQLite (Android)

将用户应用程序数据保存在 SQLite/Android 中是不是符合 HIPAA 标准?

将大型数组缓存到 SQLite - Java/Android