【发布时间】:2015-08-09 15:42:51
【问题描述】:
我正在 android 中实现一个聊天应用程序。这个应用程序的一个重要部分是与服务器和本地数据库同步。有几种方法可以在服务器和 Android 设备之间同步数据,例如 AsyncTask、IntentService 和 SyncAdapter。
我更喜欢使用 SyncAdapter,因为它更高效,而且它可以自己处理大部分后台任务。
当我阅读 SyncAdapter 的开发者页面时,我发现了这一点,
注意:同步适配器以异步方式运行,因此您在使用它们时应该期望它们定期有效地传输数据,但不是即时传输。如果你需要做实时数据传输,你应该在 AsyncTask 或 IntentService 中进行。
这是否意味着像聊天应用一样使用不好?
另外我需要提一下 SyncAdapter 的一个特性
自动执行 允许您根据各种标准自动传输数据,包括数据更改、经过的时间或一天中的时间。此外,系统会将无法运行的传输添加到队列中,并在可能的情况下运行它们。
所以如果它在数据变化时开始同步(因为新消息存储在 sqlite 数据库中),我认为 SyncAdapter 将是聊天应用的一个不错的选择。
感谢任何建议。
谢谢。
【问题讨论】:
标签: android android-asynctask intentservice android-syncadapter