将REST服务与Android应用程序同步

tbk*_*n23 9 rest android android-service android-syncadapter

有一个REST服务,我用它来填充我的数据库中的信息,我的应用程序稍后使用它.我已经阅读了几个关于这个问题的线程,现在必须决定我希望REST服务和我的数据库之间的同步如何工作.

想象一个应用程序从谷歌财务API获取有关股票的信息并将其存储在数据库中,在应用程序启动时显示信息,并在股票价格中发生特定事件时发送通知.

我已经实现了AsyncTask的简单选项,该选项在用户手动请求同步时启动.现在我必须实现自动同步,这些是我找到的选项:

  • 创建一个Service将执行同步
  • 使用同步适配器/同步提供程序

所以我发现第二个选项有很多优点,特别是在视频中解释的那些,但也有两个主要缺点:

  • 我找不到关于android同步的好文档(这些文章中有一些第三方文章,但没有官方Google或Android开发者指南)
  • 根据这篇文章搞乱同步适配器可能会导致操作系统崩溃和重启等重大问题.

我发现的大部分信息都很旧,所以也许事情已经发生了变化,但我的应用程序应该适用于8级及以上的API,所以我非常感谢任何建议和有价值文档的链接.

jcw*_*ger 3

一定要选择 SyncAdapter。请按照此处的说明进行操作: 为什么 ContentResolver.requestSync 不触发同步?

要使用 SyncAdapter,您还需要创建一个 Account/AccountAuthenticator,以便您的 SyncAdapter 知道如何登录您的服务 - 除非它确实是 Google Finance API,在这种情况下,您需要做的就是应用清单中的正确权限,以便它将使用手机上已有的帐户设置。

您没有链接您提到的讨论崩溃的文章,但我知道,它实际上是在谈论帐户 - 是的,您确实需要小心。