我已经阅读了很多关于离线缓存策略的信息,但不幸的是,我没有发现任何可以满足我要求的信息。
假设我的本地数据库中有一个 Order 列表,如果其中一个被修改,则需要与服务器同步回去。订单可以有多种状态,例如:新建、已开始、已暂停和已完成。状态更改必须按顺序与服务器同步,因为顺序也很重要。
使用"isModified"列创建表对我不利,因为我需要按顺序逐个同步每个状态更改,而不仅仅是最后一个。
当设备脱机时存储所有状态更改的最佳策略是什么?我正在考虑复制订单表或为同步数据创建一个新表,因为除了订单之外,还可以有其他对象。
任何建议将不胜感激。
如果修改的顺序是相关的,你应该将每个修改存储在某种有序的数据结构中,例如另一个本地表。
将 Firebase 数据库用于离线数据库。当互联网连接处于活动状态时,它会自动同步。
在Application
类中添加以下行:
FirebaseDatabase.getInstance().setPersistenceEnabled(true);