2011-12-18 94 views
0

我正在创建一个Android聊天应用程序。我希望聊天屏幕包含与不同用户聊天线程的新UI屏幕等功能。但我不知道要进一步采取行动。我应该使用服务还是asyntask还是有其他方法?请帮我开始。如何在Android中创建聊天屏幕?

回答

0

如果你为每个用户使用每个线程,你会产生许多线程(内存和时间来创建和清除...)。

你应该使用一个服务来收听消息(这是一个简单的工作,通过使用intent),你可以在你的主UI线程中做。

+0

谢谢:)我也是这么做的。我将所有消息存储在数据库中。每当我在用户列表特定的用户点击,我会说用户ID发送给chatscreen活动,并基于用户标识,将来自数据库中加载相应的消息。 –

0

聊天被关闭一次活动关闭(与服务器/该用户与聊天其它设备的网络连接),所以我没有看到一个理由使用serivce /的AsyncTask。只需要一个线程等待来自套接字流的数据,并在用户到达时向用户显示该数据。

+0

对不起,部分信息。我正在使用Smack API创建我的聊天工具。因此,直到Android操作系统停止该活动后,聊天才会关闭。另外,用户可能会与说A聊天.B向他发送一条消息作为通知。当用户点击通知时,将开始一个新的活动,显示与B的所有聊天消息。如果有10个用户或类似用户,如何使用它。 GTalk使用手势在聊天线程之间切换。但我不了解他们如何使用聊天线程来映射UI活动。 –

+0

我不熟悉Smack API。但是,如果您希望网络连接在活动停止时保持活动状态,请使用服务。 – Jong

+0

看起来像Smack API有一个SO标签。我会将其添加到您的问题。 – Jong