服务,线程和网络

时间:2015-09-29 03:59:55

标签: android-service android-networking

我一直在阅读有关服务,执行者,处理程序的内容,我仍感到困惑。 我想要一个Thread来处理websocket协议。我希望任何Activity能够使用它来发送“命令”并收到回调的回复。每个命令都将使用一个单独的线程进行网络活动,但在管理器和初始回复处理中使用此websocket线程。

[发送密码]:AnyActivity - > WebSocketThread - > NetThread - >服务器 [Recv Rply]:SERVER - > NetThread - > WebSocketThread - > AnyActivity.Callback

一次可能有任意数量的NetThreads

我不需要代码,但是关于什么类是高效和灵活的概念。还有什么是传递数据的最有效方式:意图;消息; ....?

**我使用术语“线程”来表示可以并发运行而不是基类的单独线程。

1 个答案:

答案 0 :(得分:0)

实施ServiceService将拥有websocket Thread,并将启动其他Thread来处理各个请求。

活动致电startService()以请求Service执行某些操作。调用Activity可以将数据作为ServiceIntentstartService()的额外内容传递给Intent。此Service.onStartCommand()将传递给方法Service

要将数据从Activity传递到Service,有几种可能性(取决于需要返回的数据类型和数量)。一种选择是Intent可以将数据广播为" extras"在使用sendBroadcast()的广播Activity中,BroadcastReceiver可以设置tabHost.setSelectedTabIndicatorColor(Color.WHITE); 来收听回复。