18

我们目前在做什么?
我们在使用 Web 服务(RESTful)公开的服务器上有一些结构化的文本数据。我的应用程序定期轮询此服务器(AlarmManagerService)以获取数据并将其保存在本地数据库(sqlite)中。此外,用户被预先认证和授权以进行访问。

问题:

  1. SDK 中有一个 SyncAdapter/AccountManager 类,我想知道它是否可以在我的应用程序中用于实现上述同步?

  2. 如果是,后端需要什么样的基础设施来支持使用此适配器的同步设置?链接到文章等,提供使用此适配器的详细信息和其他信息表示赞赏。

4

1 回答 1

18

是的 SyncAdapter/AccountManager 对您的用例很有用。Authenticator(在后台调用 AccountManager)可以为您的应用处理身份验证。SyncAdapter 可以处理从服务器到本地数据存储的定期同步。您不必使用 AlarmManager 自己实现它。有关使用 SampleSycnAdapter/Authenticator 的示例代码,请参阅 android devguide 中的SampleSyncAdapter

您的后端 REST 服务器将与 SyncAdapter 一起正常工作,无需进行太多更改。唯一的区别在于您的客户端,例如,不是在 AlarmManager 中调用服务器的获取数据方法,而是在扩展 SyncAdapter 的类的 onPerformSync() 中调用它们。上面提到的示例代码将使其更加清晰。希望这会有所帮助。

于 2010-09-08T06:34:09.103 回答