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