我有一個具有多個spinners的活動。兩個spinners值/數據需要通過RESTful服務從Web上檢索到的數據填充。數據採用JSON格式,非常基本。在一個Activity中請求多個RESTful調用的最佳方法是什麼
我曾考慮過使用AsyncTask和doInBackground做兩個Web服務調用,它們會填充兩個不同的HashMaps,但我不確定這是關於性能設計的最佳方法。
是否有另一種方法來處理這種情況?也許有一種服務在應用程序啓動並在本地緩存時獲取數據?
您的意見,將不勝感激。
我有一個具有多個spinners的活動。兩個spinners值/數據需要通過RESTful服務從Web上檢索到的數據填充。數據採用JSON格式,非常基本。在一個Activity中請求多個RESTful調用的最佳方法是什麼
我曾考慮過使用AsyncTask和doInBackground做兩個Web服務調用,它們會填充兩個不同的HashMaps,但我不確定這是關於性能設計的最佳方法。
是否有另一種方法來處理這種情況?也許有一種服務在應用程序啓動並在本地緩存時獲取數據?
您的意見,將不勝感激。
您可能希望使用兩個不同的AsyncTask
實例,以便請求並行運行。
如果您的數據應該被保存,您可以考慮將其保存到sqlite數據庫或存儲在SharedPreferences
中的json String
。使用Service
聽起來也不錯。
此外,如果您只是想在當前正在運行的程序的本地緩存它(並且不需要擔心在程序關閉時保留它),則可以創建一個簡單的全局單例緩存,以允許同步訪問到你的數據。
就實際獲取數據本身而言,AsyncTask
可能是最好的方法(如果它尚未被緩存)。在doInBackground()
方法中執行提取並在onPostExecute()
方法中執行解析/存儲。
如果使用兩個的AsyncTask的其中onPostExecute我應該推出我的新活動,因爲沒有保證第一個任務將在第二前完成? – Byron 2011-04-04 03:51:29
您可能需要跟蹤他們每人完成的時間,以便在他們都完成時執行操作。 – 2011-04-04 04:06:29