我正在尝试在程序的第一次运行时创建一个SQLite数据库,其中包含一个包含7行的表,该表旨在与远程服务器上的MySQL数据库上的表匹配。所以我的想法是:
(1)仅在第一次运行应用程序时,创建数据库,表和包含所需条目的行数。
(2)在所有运行(包括第一个)上轮询远程MySQL数据库(通过PHP),该数据库包含带有时间戳列的表,并且如果满足时间戳条件(即,已在数据库),之后的所有条目都将被添加到Android手机上的SQLite数据库中。
如果有人可以指出我正确的方向或给我一些基本的代码,那就太棒了 - 谢谢。
答案 0 :(得分:3)
嗯,没有任何神奇的子弹可以将android与云中的数据库同步。由于您只处理7行,我将使用AsyncTask和http客户端向您的php页面发送get请求,并将7行和时间戳作为json文档返回。然后我会查询你的本地sqlite数据库并从中获取行和时间戳。然后,您可以遍历7行并根据需要更新sqlite。这很容易。
如果您愿意使用其他数据库,您可能需要查看couchDB,他们有一个Android客户端(测试版),它将与云中的couchDB同步。您可以免费在cloudant.com上创建couchDB。如果你想采用这种方法,请去google“couchbase android”。
答案 1 :(得分:0)
同意nickfox,如果它只有7行,像AsyncTask这样简单的东西将是一个很好的方法。
但是,如果您认为可能有更多数据要同步并且您正在寻找选项,我将添加另一个:Oracle数据库。您可以使用Oracle Database Mobile Server在SQLite数据库和在其他地方运行的Oracle数据库之间同步数据。
这为您提供了两全其美的优势 - 重量轻,易于使用,并在Android设备上部署SQLite数据库和应用程序,企业级内运行的企业级全功能,可扩展,高性能Oracle数据库云与中间的Mobile Server确保数据保持同步。
祝你的搜索和运气好运实现。