Android TCP / LocalService

时间:2011-11-21 21:07:51

标签: android sockets service tcp

我是Android开发的新手,并不确定处理以下问题的最佳方法。

背景: 我有一个运行在android上的TCP客户端与服务器通信。这是正常运行然而当进入下一步时我不确定该怎么做。

问题: 我有一个基于用户触摸绘制的UI。我需要在手机上运行的tcp客户端将坐标和其他一些数据发送到服务器。此过程中还有多个活动将发送数据。

处理此问题的最佳方法是什么? 以下是我的一些想法。

1)一个可以在另一个线程上运行的Runnable客户端的类(我认为它是一个无效的解决方案,因为在多个活动中使用相同的连接并不容易)

2)可以启动主要活动的本地服务,其余活动可以绑定到它并向其发送数据。

如果正确的答案是2号,我对这样的服务如何运作有点困惑。我在想的是,在服务的OnCreate()方法中,它将启动与服务器的tcp连接。一旦建立了套接字连接,我就不确定如何实际保持与服务的通信并为其提供它需要通过客户端发送的数据。

1 个答案:

答案 0 :(得分:1)

您可以使用startService()启动服务。包含在包含要发送到服务器的数据的Intent个附加内容中。该服务将在onStartCommand()中检索这些额外内容,并且后台线程实际上会发送数据。

完成后请务必停止服务。