将android app数据库与服务器db同步的方法?

时间:2012-01-25 18:10:32

标签: android

我正在开发一款Android应用,作为我们公司的“概念证明”。如果他们喜欢它并认为值得投资,那么我们将继续做更大的事情。我正在努力找出最佳/最实用的方法.....应用程序的基础知识将连接到我们的数据库并显示有关特定客户的信息。现在,假设我们只从3-4个表中提取数据(但未来可能会有10个以上)。如果应用程序没有互联网连接,那么它应该使用本地数据库。对此最好的方法是什么?这是我的想法,如果可能的话,我想要一些意见/建议:

1。)app运行检查互联网连接。如果存在,请检查db版本(如何通过Web服务?)..如果服务器db更新,则获取最新数据。如果没有互联网,请使用本地数据库 2.)app解析数据并显示它。

如果这是正确的,则不会对Web服务进行任何修改,这些修改会在不更改应用程序的情况下向结果添加字段。有没有办法让应用程序解析字段而不管有多少字段?

我已经阅读并浏览了谷歌数据库等教程(记事本教程),但似乎列名在解析类中都是硬编码的,我希望避免使用。

很抱歉,如果这令人困惑,但我知道我需要我的应用程序使用本地数据库来读取数据,我也知道应用程序必须从服务器获取数据(通过onCreate或刷新按钮)并复制它本地....在本地复制它是我无法理解的部分我猜...是没有办法说“出去得到这个结果并显示它”,知道这些结果可能意味着5个字段第一次或下一次。

非常感谢任何帮助/指导!

1 个答案:

答案 0 :(得分:0)

您可能希望使用SQLLite DB在本地存储数据,使用ContentProvider提供对数据库的CRUD访问,并在可能时使用SyncAdapter与服务器同步。同步适配器还通过ContentProvider写入数据库。有关其工作原理的示例,请参阅SDK中的SampleSyncAdapter示例。您将实现自己的ContentProvider,但该示例仅使用Android提供的Contacts ContentProvider。

http://developer.android.com/resources/samples/SampleSyncAdapter/index.html