0
我正在開發這個約會應用程序,允許用戶瀏覽從服務器下載的配置文件。如何從後臺服務獲取結果,但仍然保持運行在android
但我不知道我應該用什麼樣的線程或服務來上傳和從服務器上下載。
它必須是一個在後臺運行的服務,首先通過套接字連接到服務器,然後等待來自用戶輸入(來自UI線程)的命令。
我讀了Service和IntentService類。IntentService似乎是合適的,只不過它在完成作業並將結果返回給調用線程後被銷燬。我需要它繼續傾聽請求。
我每次都可以開始一個新的服務,但這意味着我必須重新連接服務器,每次請求(假設每次瀏覽配置文件時)。這看起來不正確。
任何人都可以告訴我爲此目的的最佳方法是什麼?
嘗試維護持久的套接字連接在移動應用程序開發中具有挑戰性。你爲什麼要走這條路線,而不是使用Web服務,而使用像SPDY這樣的東西來保持套接字的連接? – CommonsWare 2014-11-02 22:40:31
我不知道使用套接字在移動應用程序開發中被挫敗......我已經構建了這個客戶端 - 服務器通信代碼,並希望將其轉移到Android。我對網絡通信很陌生,所以我不知道有其他選擇。所以創建一個Web服務比套接字通信更好? – 2014-11-02 23:11:12
「我不知道在移動應用程序開發中使用套接字是不鼓勵的 - 」套接字並不氣餒。由於這些設備是移動設備,因此難以在移動設備中維護持久的套接字連接。用戶四處走動,進入電梯,駕駛等。這使得移動設備在不同的WiFi接入點之間翻轉,故障切換到移動數據等。每當發生這種事情時,現有的套接字連接必須被重新建立。因此,所有其他條件相同的情況下,只有在需要此類連接時才使用長期連接。 – CommonsWare 2014-11-02 23:16:08