同步mehod for android chat application

时间:2015-08-08 08:56:05

标签: android android-asynctask intentservice android-syncadapter

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

我更喜欢使用SyncAdapter,因为它更有效,并且它自己处理大多数后台任务。

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

  

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

这是否意味着使用聊天应用程序不好?

另外我需要提一下SyncAdapter的功能

  

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

因此,如果它在数据发生变化时开始同步(由于新消息存储在sqlite数据库中),我认为SyncAdapter将是Chat App的不错选择。

任何建议表示赞赏。

感谢。

1 个答案:

答案 0 :(得分:0)

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

我会说当应用程序处于后台时,你应该使用GCM进行新的消息通知,当应用程序在前台时,使用类似RPC,xmpp,套接字或任何能保持连接活动的东西。