2013-08-19 69 views
1

是否有好的設計,一次運行多個服務來從android應用程序執行多個網絡調用?在我的應用程序中,當用戶登錄時,需要從網絡調用收到的響應中填充幾個字段,爲此我試圖利用一次運行的多個服務。如果我不爲此運行多個服務,用戶可能需要等待很長時間。另一方面,考慮到移動設備的限制,一次運行多個服務可能不是一個好主意。有什麼建議麼?一次從android應用程序進行多個網絡調用

回答

1

您可以使用一個服務來產生多個線程來實現相同的目的。爲什麼你需要多個服務。有一個名爲BackgroundNetworkService的服務。它基本上產生了一個線程與服務器通信,並從後臺線程刷新UI,您可以使用Handler。

所以,作爲一個流動應該是活動 - >服務 - >主題(進行網絡呼叫,並獲得響應) - >處理程序(更新UI顯示響應)

注意:您可以利用線程池來控制同時運行的線程數量。

+1

您將如何確保所有線程執行已完成並且服務應該關閉? – Kaps