android - 使用离线同步设计 Android 应用程序。我应该使用 SyncAdapter 吗?

标签 android android-syncadapter

我正在尝试为 Web 服务制作一个 Android To-Do 客户端,具有离线缓存和同步功能。

当您向 Web 服务发送帖子消息时,Web 服务会以 JSON 格式返回有关服务器上待办事项的数据。 要在服务器上添加待办事项,您需要将包含任务详细信息的 JSON POST 发送到服务器,服务器将返回一个任务 UUID

我想实现某种类型的同步,以便将我在离线时添加的任务发送到服务器,并在互联网可用时将来自服务器的数据同步到应用程序(2 向同步)。

目前,我已经编写了一个基于内容提供程序的基本待办事项应用程序,它不与服务器通信。我的问题是实现此类功能的最佳方式是什么?

计划尝试

我认为我需要从服务器获取 JSON,将其推送到本地 SQLite 数据库,执行比较并找到未同步的项目并将它们推送到服务器。我想我可以通过在我的 ContentProvider 中添加异步查询来做到这一点(不确定这是否是最好的方法)。

问题:

我应该自己编写相同的实现,还是 SyncAdapter 可以完成所有这些魔术?还有其他我应该考虑的设计参数吗?

最佳答案

对于插入 SyncAdapter 的库和演示 Google Task API 与本地 Android SQLite 数据库的双向同步的演示应用程序 - 查看此 github 存储库:

https://github.com/sschendel/SyncManagerAndroid-DemoGoogleTasks

关于android - 使用离线同步设计 Android 应用程序。我应该使用 SyncAdapter 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27032190/

相关文章:

android - 将 key 添加到 jsonObject

android - 当 SyncAdapter 在 android 上运行同步?

Android SyncAdapter 回调

android - whatsapp 如何在更新后立即同步联系人

android - 单个应用程序中的多个同步适配器或仅 1 个

Android SyncAdapter 自动初始化同步

android - 无法实例化服务

java - 解析数据库初始化 - 应用程序在导航回 MainActivity 时崩溃

java - 获取特定像素的 x,y 位置

安卓多屏不兼容