2011-04-30 164 views
0

我正在开发一个利用TCP上的自定义网络协议的应用程序。应用程序中的若干任务使用不同的活动,但每个活动都需要启用联网(因为每个活动都必须通过网络发送/接收一些定制数据包)。 所以我的想法是基本上Android - 活动之间的共享网络

  1. 在应用程序启动 - 创建一个服务来处理网络(我读的地方,我应该做的网络在另一个线程在这个服务,以防止ANR)

  2. 当一个新的活动运行,它绑定到该服务。在此期间,它发送/接收来自服务的数据。活动结束后,它将从服务中解除绑定。

我想知道这是否合理。

另外,据我所知,我可以使用aidl接口将数据发送到服务(通过网络发送),但是我将如何从服务接收数据?通过aidl轮询似乎是我能想到的唯一方法 - 这意味着我需要在每项活动中使用另一个线程来防止ANR。当然有更好的方法。

我感谢您的帮助,并乐于接受建议。

回答

0

其实我一直在阅读更多的内容,并且开始在提供的示例代码here中查看回调方法。更详细地阅读后,我对服务和AIDL有了更好的了解。