2013-05-08 76 views
0

我被困在一點。我需要同樣的建議。 我正在創建一個涉及json解析的應用程序。解析後,我得到的數據涉及事件名稱,事件描述,事件地點,事件圖像URL等。數據非常龐大。你可以想像Facebook有點東西。在android中使用AsyncTask下載圖像

現在的問題是數據得到解析,但因爲事件圖像是在url的形式,我需要將其轉換成位圖。 我已經將json解析和位圖轉換的所有過程保存到一個AsyncTask(doInBackground())中。

這花費了大量的時間。我希望像Facebook這樣的數據被加載並顯示給最終用戶,但圖像加載緩慢而穩定。 (我的意思是當我們滾動Facebook時,圖片不會立即出現)。

我想要一個類似的功能。我需要建議。

+1

搜索** Android圖片在Google上延遲加載**。有許多教程可用。作爲一個例子看到這個[鏈接](http://thinkandroid.wordpress.com/2012/06/13/lazy-loading-images-from-urls-to-listviews/) – 2013-05-08 13:47:18

+0

http://stackoverflow.com/questions/541966 /我該怎麼做 - 一個懶惰的圖像加載列表視圖 – 2013-05-08 13:48:26

+0

http://stackoverflow.com/questions/15621936/whats-lazylist。使用延遲列表或通用圖像加載器。檢查鏈接以獲取更多信息 – Raghunandan 2013-05-08 13:48:51

回答

2

您仍然可以使用AsyncTask,只需要使用兩個獨立的任務。 一個用於加載和解析JSON,另一個用於加載圖像。

解析JSON後,您需要爲每個要加載的圖像啓動一個AsyncTask,使它們全部加載到自己的線程中。它會顯示一旦該項目完成加載。

+0

如果我在服務器上有數據庫,並且網絡目錄中有圖像,數據庫表中的每一行都指向特定圖像。所以在將數據同步到android設備時,我所要做的就是運行asyncTask從mysql數據庫獲取json數據,然後運行另一個asyncTask來下載相關圖像。這是正確的嗎? – 2013-10-01 19:50:26

0

這個概念被稱爲延遲加載(AFAIK)。你可以使用已經開發的ImageLoader。它將在後臺下載圖像,一旦下載它將設置爲ImageView的背景。請參閱Custom Downloader