我想将我的客户端从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