我正在开发一个 Android 应用程序,它是远程 JSON Web 服务 API 的客户端(我构建了服务器,因此我拥有最大的灵活性)。
我正在尝试确定什么是保持本地 SQLite 数据库与远程 API 同步的好策略(在电池寿命、带宽和等待时间方面)。
我目前在想的是服务器将通过 GCM 通知 Android 应用程序任何操作(应该获取的新数据或应该更新的旧数据),此外,用户将有一个刷新按钮来手动执行同步。
这种方法的缺点是,如果 GCM 消息“丢失”,则无法知道任何更新或新数据。
每当用户要求查看某些内容时,我都可以添加时间戳并检查新数据,但这并不能解决确定何时需要刷新 SQLite 数据库中已有的旧数据的方法。
关于改进此同步策略或我应该研究的任何其他方法的任何建议?