您可能需要查看fyrecloud.com/amsler这是一个演示Android应用程序的源代码,该应用程序在MySQL服务器和Android设备上的SQLite数据库之间实现MySQL复制。
阿姆斯勒依靠两大支柱:
它使用MySQL客户端/服务器协议与MySQL服务器进行通信,以便连接到服务器进行身份validation,并在发生复制事件时接收。
它使用Antlr lex和parsing软件来parsing和传入复制事件,然后将MySQL命令翻译成等效的SQLite命令。
这对于单向复制非常有用。 您可以通过RESTfultypes方法间接修改MySQL服务器来模拟双向复制,然后在MySQL发送新的复制事件时观察。
通过REST访问服务器非常简单。 但是,修改现有的MySQL安装以支持序列化在这里列举太多令人头疼的事情。 Amsler利用预先存在的复制服务。 REST也取决于一些轮询策略,以保持本地设备合理的最新。 再次,这种方法的许多问题。 Amsler维护与服务器的TCP / IP连接,使服务器推送通知更新。
阿姆斯勒最困难的部分就是搞清楚了解释/parsing。 MySQL,SQLite之间的语法和它们的各种版本有很多细微的差别。 如此多的差异,提供一个缩小包装转换器是不切实际的,而你必须求助于自己修改语法。
尽pipe如此,好的,坏的,或丑陋的,在这里。 看看,也许手套适合。