我编写了一个C#Web API 2 Web服务,我想在我编写的Android应用程序中检索这些数据。
我希望在我的Android设备上有一个本地SQL数据库,用于存储来自Web服务的数据。
每当我的Android应用程序中使用数据时,我希望检查本地数据库数据是否是最新的,如果它不是,那么我希望从中检索最新数据网络服务。
我正在考虑以下事项:
这会运作良好吗?有没有比我的上述想法更好的解决这个问题的方法?是否存在可能发生的任何缺点或错误?
提前致谢。
答案 0 :(得分:2)
我的同步算法完全相同。就是这样。 我的Web服务方法获取日期时间参数,Web服务发送仅在该时间之后创建或修改的对象。
在移动端,我保持同步开始时间,并且对于每次同步,我发送先前的同步开始时间。 (顺便说一下,我在同步开始之前询问服务器的日期)
我不保持同步结束时间,因为某些数据可能会在同步开始后被修改。
答案 1 :(得分:0)
我在同步适配器中做了类似的事情,用户点击同步,它从网络订阅源获取数据并仅将更新的数据存储到sqlite中。
请参阅http://developer.android.com/training/sync-adapters/creating-sync-adapter.html
上提供的SyncAdapter.java
同步适配器示例文件