2011-07-14 54 views
0

我想实现一个可以通过互联网与服务器进行通信的Android应用程序。由于每次Android应用程序连接到服务器,都会建立连接,并且Android应用程序将维护此连接以用于从服务器接收消息。但是,同时Android应用程序必须处理用户输入,因此这两个任务必须并行运行,需要通过两个线程来实现。我没有关于多线程编程的经验。有什么建议么?谢谢。莱昂。Android应用程序和套接字

回答

0

您是否尝试将服务器交互放入线程?这应该是所有

Thread thread = new Thread(this){ 
    public void run() { 
     // do your server interaction 
    } 
    } 
    thread.start(); 
+0

我试过了。但它不起作用,在将Thread编程和Socket编程相结合时可能存在一些问题。我会尽力找出答案。谢谢。 – leonliuxue

2

用户界面是由主线程处理没有问题,所以真的是你只需要建立一个线程处理网络(事实上,在3.0和开放套接字连接从主线程将抛出一个异常!)。

使用AsyncTask建立并维护与服务器的连接 - 这是一种相当简单的多线程方式。看看这个文档:http://developer.android.com/resources/articles/painless-threading.html

+0

谢谢,我会看看那个文档。 – leonliuxue

0

你可能要考虑谷歌的云到设备消息(C2DM)。他们设法长时间连接设备,并将您的服务器通知推送到任何Android设备。尽管如此,我相信它仍处于'实验室'阶段。

+0

谢谢。我会看看这项服务。 – leonliuxue

相关问题