如何在Android手机上将SQLite数据库与服务器上的MySQL数据库同步?

Har*_*wal 28 mysql database android synchronization

我正在开发一个Android应用程序.我想用服务器上的MySQL数据库更新本地SQLite数据库.我无法弄清楚最合适和最标准化的方法是什么?

And*_*ite 14

创建一个Web服务(REST可能是最好的)并序列化您的SQLite/MySQL数据并将其与您的Web服务进行PUT/POST/GET.如果您决定从MySQL切换到其他服务器端,这将为您提供一个很好的抽象层.

  • 什么是仅将更改的数据从SQLite更新到MySQL数据库的最佳方法? (3认同)

小智 5

您可能需要查看fyrecloud.com/amsler 这是演示Android应用程序的源代码,该应用程序在Android设备上的MySQL服务器和SQLite数据库之间实现MySQL复制.

阿姆斯勒依靠两大支柱:

  1. 它使用MySQL客户端/服务器协议与MySQL服务器通信,以便连接到服务器进行身份验证并在发生复制事件时接收它们.

  2. 它使用Antlr lex和parse软件来解析和解析传入的复制事件,然后将MySQL命令转换为等效的SQLite命令.

这对于单向复制非常有用.您可以通过RESTful类型方法间接修改MySQL服务器来模拟双向复制,然后在MySQL发送新的复制事件时观察.

通过REST访问服务器非常简单.但是,修改现有的MySQL安装以支持序列化会带来太多令人头疼的问题.Amsler利用预先存在的复制服务.REST还依赖于一些轮询策略,以使本地设备保持合理的最新状态.同样,这种方法存在许多问题.Amsler维护与服务器的TCP/IP连接,该连接启用服务器推送更新通知.

Amsler最困难的部分是弄清楚lexing /解析.MySQL,SQLite及其各种版本之间的语法有许多细微的差别.如此多的差异,提供一个收缩包装翻译是不切实际的,相反,你必须自己修改语法.

然而,好的,坏的或丑陋的,在这里.看看,也许手套适合.

  • 你的链接已经死了. (6认同)