我想在Android上做一个基本的应用程序来让我的脚湿透。我有一个休息api和在线数据库,当存在连接时,它处理基本的CRUD。
我使用的大多数任务应用程序都允许在没有连接时创建任务。
这样的事情的最佳做法是什么?
应用程序通常是否在本地为用户存储所有数据的副本,以便在没有连接时可以访问它?
看起来我使用的应用程序(astrid任务)无论连接如何都可以访问我的所有任务/历史记录
如果是这种情况,就远程数据的主键而言,如何处理同步呢?
答案 0 :(得分:1)
你有一些编码,假设每个数据更改的一个请求被原子编码为xml或json。创建一个基类,它是连接的父级,并使用它将数据更新发送到远程数据库。如果不存在连接,则将整个命令存储到文件或sqlite中。您可以根据文件的大小,日期等创建多个文件(如果按文件方法进行)。创建一些规则如何选择最旧的记录 - 如果您需要以有序的方式更新数据库。
答案 1 :(得分:0)
一种解决方案是在应用程序中使用本地数据库。当没有互联网连接存储该数据库中的数据时。
现在让您的应用程序监听网络更改。当设备连接到网络时,您可以将缓存的数据从本地数据库上传到服务器,而无需用户交互。