7

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

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

我想知道是否有一个现有的工具,一旦设备可以访问网络,它就可以更容易地与现有的 postgres 数据库同步

4

1 回答 1

4

这里有一些非常基本的想法。

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

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

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

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

于 2013-05-12T07:24:42.433 回答