我在寫一個連接到REST/JSON web服務的android應用程序。用戶將獲取信息,上傳評論,下載和上傳圖片等。連接到一個web服務從android - AsyncTask或服務?
我知道我不應該在Activity/UI線程中保留所有這些網絡通信,因爲它會導致ANR。我感到困惑的是,我是否應該使用AsyncTask或帶有「手動」線程的服務來完成此任務;
有了服務,我只需要在webservice的API中爲每個方法提供一個公共方法。然後,我會在這些方法中實現線程化。
如果我使用了一個AsyncTask,我會創建一個幫助類,爲webservice的API中的每個方法定義AsyncTasks。
哪種方法是首選?與web服務的交互只會在用戶處於活動狀態時發生。一旦他們切換到另一個應用程序,或退出程序,就不需要與web服務進行通信。
感謝您的建議。但是,在觀看此Google IO視頻(http://www.google.com/events/io/2010/sessions/developing-RESTful-android-apps.html)後,我決定採用基於服務的方法。我仍然可以使用AsyncTasks來處理用戶需要服務立即反饋的實例(例如發表評論)。對於簡單的後臺任務來說,AsyncTask似乎是最好的選擇。 – football 2011-03-07 19:57:53