安卓:在线数据库存储数据时离线的最佳实践

3
我想要在Android上制作一个基本的待办事项应用程序以便入门。我有一个rest api和在线数据库,可以处理基本CRUD操作当有连接时。
然而,我使用过的大多数任务应用程序都允许在没有连接的情况下创建任务。
那么,这方面的最佳实践是什么?
应用程序通常会在本地存储用户的所有数据副本,以便在没有连接的情况下也可以访问它吗?
看起来我使用的应用程序(Astrid Tasks)无论是否有连接都能够访问我的所有任务/历史记录。
如果是这种情况,那么在远程数据的主键方面如何处理同步呢?
2个回答

1
你有一些编码,比如说每个单独数据变化请求都以xml或json的形式进行编码,需要原子性执行。创建一个基类作为连接的父类,并使用它来将数据更新发送到远程数据库。如果连接不存在,则将整个命令存储到文件或sqlite中。你可以根据文件大小、日期等创建多个文件(如果采用文件方法)。创建一些规则来选择最旧的记录——如果需要按顺序更新数据库。

0
一个解决办法是在应用中使用本地数据库。当没有网络连接时,把数据存储在这个数据库中。
现在让你的应用监听网络变化。当设备连接到网络时,你可以自动将本地缓存数据上传到服务器上,而无需用户交互。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接