2012-07-20 66 views
2

我正在開發一個完全基於從Web服務提取數據的應用程序。 在一個活動中,我必須調用幾乎5個不同的Web服務,它顯示不同的信息。這個應用程序的目標是v 2.3到4.x,因爲在主UI線程上沒有允許網絡通信,所以我製作了5 6個AsyncTask類,因爲它的後處理執行幫助我顯示了很多內容。用於Web服務的Android Asyntask

現在我很困惑的是,這種方法是對還是錯,使得6個AsyncTask類(無法減少Web服務的數量或調用一個AsyncTask,因爲我必須一次又一次地檢查數據)。這是一個好方法,還是應該改變我的模式,然後切換到什麼方法。 使用這種方法,我的應用程序在所有設備上運行得非常順利。

回答

0

我認爲這是一個很好的模式。它非常適合面向對象的設計,每個人都執行它自己的任務。

如果你的網絡電話都是直接接在一起,你可以將它們組合成一個巨大的AsyncTask,如果你真的想。那肯定會減少你現在擁有的優秀封裝,並且會讓別人難以維護和調試。

這聽起來像你已經很好,如果它運作良好,爲什麼修復什麼不壞。

+0

謝謝我只是想確保這種方法是正確的 – 2012-07-20 06:47:40

+0

我剛纔一直在思考同樣的問題。我有3個網絡電話,都非常相似,我正在考慮製作一個更通用的AsyncTask,它可以處理所有3個,但是隨後決定反對它。 – 2012-07-20 06:49:39

0

我假設每個ASyncTask類都是向web服務發出的API請求,如果是這樣的話,它是正確的做法。任何網絡操作都應該在UI線程之外完成。

還有一個更好的方法是使用ThreadPools來限制一次希望保持活動的服務器請求的數量。

+0

嗯,我檢查它,謝謝 – 2012-07-20 06:53:51