我想將我的客戶端從Java Swing(Java client
)移植到Android(Android client
)。從後臺工作人員更新UI
基本上,我的Java client
有一個線程,它運行一個永久while循環來接收UDP數據包,並基於UDP數據包的內容,相應的JFrame的UI將被更新。
現在我想我的Android client
有background worker
像Java client
線程,而worker
將在main activity
進行初始化。然後當有一些來自UDP套接字的請求時,main activity
將啓動一些相應的活動(聊天活動),然後還有一些其他請求來自UDP套接字,the worker
將更新活動(這個活動可以是主要活動或一個活動聊天活動),它正在屏幕上顯示。
所以我的問題是background worker
應該是什麼:
- 服務
- 普通Java線程
- 的AsyncTask
- 還是什麼...
這是最合適的與我的要求?
謝謝!
謝謝,但我還有一個問題:一個服務如何更新許多不同活動的UI。例如:服務讀取UDP數據包以獲取消息,然後如何將這些消息發送到不同的活動? – Leo 2012-04-25 08:16:31
您可以使用bindService將活動綁定到服務。它將使您能夠訪問用於訪問 – njzk2 2012-04-25 08:19:18
服務中的事物的IBinder,當您接收服務中的UDP數據包時,可以使用Intents更新活動。 – 2012-04-25 08:19:38