2011-07-14 53 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

相關問題