android应用程序离线模式,本地sqlite数据库与远程数据库同步

时间:2013-03-28 18:16:18

标签: android sqlite postgresql synchronization offline-mode

我有一个 postgreSql数据库,它由Android应用程序通过Web服务操作。 我想知道为我的应用程序制作离线模式的最佳方法是什么。

我的第一个想法是在设备无法访问网络时使用 sqlite本地数据库

我想知道是否有现有的工具,一旦设备可以访问网络,就可以轻松地使用现有的postgres数据库同步

1 个答案:

答案 0 :(得分:4)

以下是一些非常基本的想法。

在理想情况下,您将同步一般工作元数据,而离线模式将允许仅插入工作流基于该元数据添加新数据。这样就可以通过以后顺序发布到Web服务然后在数据库中标记或完全删除行来轻松地同步事物。

如果你使用类似的东西,你可能真的不想将sqlite作为rdbms。您可能想要的是一个宽表结构,主要用于存储待处理的需求,或者存储诸如稍后将发送的json有效负载之类的东西。这意味着您的本地数据库不是围绕您的数据模型而是围绕您的Web服务API设计的。

如果您必须进行更新(覆盖工作流程),那么您需要在解决冲突方面投入大量精力,但基本相同。您可能希望添加更多信息,如时间戳和其他与冲突解决方案相关的数据。

然而,从那里你应该能够重新使用你的应用程序API来进行同步,而不是寻找一个特定的工具来完成它。