多次修改本地数据时的最佳同步策略

Best strategies for sync when local data is modified multiple times

我已经阅读了很多有关离线缓存策略的内容,但遗憾的是我没有找到任何可以满足我要求的内容。

假设我的本地数据库中有一个订单列表,如果其中一个被修改,则需要将其同步回服务器。订单可以有多种状态,例如:新的、开始的、暂停的和完成的。状态变化必须按顺序与服务器同步,因为顺序也很重要。

创建 table 和 "isModified" 列对我来说并不好,因为我需要按顺序逐个同步每个状态更改,而不仅仅是最后一个。

在设备离线时存储所有状态变化的最佳策略是什么?我正在考虑复制订单 table 或为同步数据创建一个新订单,因为可能还有其他对象而不仅仅是订单。

如有任何建议,我们将不胜感激。

使用 Firebase 数据库作为离线数据库。它会在互联网连接处于活动状态时自动同步。

在您的 Application class 中添加以下行:

FirebaseDatabase.getInstance().setPersistenceEnabled(true);

如果修改的顺序是相关的,您应该将每个修改存储在某种有序的数据结构中,例如另一个本地 table。