2011-12-18 67 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