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

Sim*_*imo 6 sqlite postgresql android synchronization offline-mode

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

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

我想知道是否有现有的工具,一旦设备可以访问web ,就可以使现有的postgres数据库更容易同步

Chr*_*ers 4

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

在理想情况下,您可以同步一般工作元数据,并且离线模式将允许仅插入工作流程基于该元数据添加新数据。这将使以后的同步变得相当容易,只需按顺序发布到 Web 服务,然后在数据库中进行标记或完全删除行即可。

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

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

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