【问题标题】:Syncing mehod for android chat application安卓聊天应用的同步方法
【发布时间】:2015-08-09 15:42:51
【问题描述】:

我正在 android 中实现一个聊天应用程序。这个应用程序的一个重要部分是与服务器和本地数据库同步。有几种方法可以在服务器和 Android 设备之间同步数据,例如 AsyncTask、IntentService 和 SyncAdapter

我更喜欢使用 SyncAdapter,因为它更高效,而且它可以自己处理大部分后台任务。

当我阅读 SyncAdapter 的开发者页面时,我发现了这一点,

注意:同步适配器以异步方式运行,因此您在使用它们时应该期望它们定期有效地传输数据,但不是即时传输。如果你需要做实时数据传输,你应该在 AsyncTask 或 IntentService 中进行。

这是否意味着像聊天应用一样使用不好?

另外我需要提一下 SyncAdapter 的一个特性

自动执行 允许您根据各种标准自动传输数据,包括数据更改、经过的时间或一天中的时间。此外,系统会将无法运行的传输添加到队列中,并在可能的情况下运行它们。

所以如果它在数据变化时开始同步(因为新消息存储在 sqlite 数据库中),我认为 SyncAdapter 将是聊天应用的一个不错的选择。

感谢任何建议。

谢谢。

【问题讨论】:

    标签: android android-asynctask intentservice android-syncadapter


    【解决方案1】:

    通常移动应用程序取决于后端实现和应用程序要求,但通常您不应将此类方法用于聊天应用程序,它们不会为您提供最新数据。

    我会说,当应用程序在后台时,您应该使用 GCM 来通知新消息,而当应用程序在前台时,请使用诸如 RPC、xmpp、套接字或任何使您的连接保持活跃的东西。

    【讨论】:

      猜你喜欢
      • 2012-09-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-01
      相关资源
      最近更新 更多