我一直在阅读有关服务,执行者,处理程序的内容,我仍感到困惑。 我想要一个Thread来处理websocket协议。我希望任何Activity能够使用它来发送“命令”并收到回调的回复。每个命令都将使用一个单独的线程进行网络活动,但在管理器和初始回复处理中使用此websocket线程。
[发送密码]:AnyActivity - > WebSocketThread - > NetThread - >服务器 [Recv Rply]:SERVER - > NetThread - > WebSocketThread - > AnyActivity.Callback
一次可能有任意数量的NetThreads
我不需要代码,但是关于什么类是高效和灵活的概念。还有什么是传递数据的最有效方式:意图;消息; ....?
**我使用术语“线程”来表示可以并发运行而不是基类的单独线程。
答案 0 :(得分:0)
实施Service
。 Service
将拥有websocket Thread
,并将启动其他Thread
来处理各个请求。
活动致电startService()
以请求Service
执行某些操作。调用Activity
可以将数据作为Service
中Intent
中startService()
的额外内容传递给Intent
。此Service.onStartCommand()
将传递给方法Service
。
要将数据从Activity
传递到Service
,有几种可能性(取决于需要返回的数据类型和数量)。一种选择是Intent
可以将数据广播为" extras"在使用sendBroadcast()
的广播Activity
中,BroadcastReceiver
可以设置tabHost.setSelectedTabIndicatorColor(Color.WHITE);
来收听回复。