天天看點

Droid-Fu介紹二: WebImageView and WebGalleryAdapter WebImageView WebGalleryAdapter

http://www.cnblogs.com/xiongbo/archive/2011/05/27/2057234.html

介紹兩個非常便捷的元件: webimageview 和 webgalleryadapter.

許多移動應用大量使用基于web的内容,尤其是照片,頭像和其他圖像。 問題是:你必須下載下傳後才能顯示出來,這意味着:

下載下傳的操作必須是異步的,否則界面将會卡住

在下載下傳處理過程中,必須顯示進度,這樣使用者才會有更好的體驗

下載下傳的過程非常消耗手機資源,是以通常都會考慮緩存下載下傳的圖檔

看起來顯示一個圖檔是相當痛苦的一個過程。幸運的是droid-fu提供了一個非常簡單的類解決此問題:webimageview

這裡有個例子顯示webimageview的效果:第一個圖檔顯示了webimageview正在處于加載狀态,第二個圖檔顯示了加載完畢後的效果。

<dl><dt>

Droid-Fu介紹二: WebImageView and WebGalleryAdapter WebImageView WebGalleryAdapter

</dt></dl>

Droid-Fu介紹二: WebImageView and WebGalleryAdapter WebImageView WebGalleryAdapter

如果你還沒有下載下傳droid-fu的jar包的話,趕快下載下傳。然後,在你的布局檔案中,增加如下的内容:

所有的參數都是可選的,這樣你可以先定義你自己的view,然後調用webimageview.loadimage()觸發加載圖檔的操作。很簡單是吧!

droid-fu的webimageview從web上擷取圖檔是由 imageloader 實作的。imageloader自身包含兩層緩存。當你使用webimageview加載一個圖檔的時候,首先查詢第一層的記憶體緩存,如果找到目标,立刻傳回;如果沒有找到,就會查詢第二層的檔案緩存。droid-fu使用應用的緩存目錄,是以你不需要考慮緩存維護的事宜。如果還是沒找到,那麼webimageview最終将會從web上下載下傳該圖檔。

目前緩存的實作是采用google collections mapmaker,它的容量會随着可用記憶體的變化而變化。什麼都不用管,隻要将需要緩存的内容放到緩存中,如果緩存空間不夠,會回收其他的緩存内容。

webgalleryadapter 是android的gallery的一個adapter實作類,而且他完全是即插即用:建立gallery,設定一個webgalleryadapter實作類,并且将圖檔的url位址傳遞給他。無論使用者在gallery做什麼樣的操作,這些圖檔都會自動的從web上下載下傳,并且擁有緩存和進度隻是這樣的特性。

原文位址:http://brainflush.wordpress.com/2009/11/23/droid-fu-part-2-webimageview-and-webgalleryadapter/

繼續閱讀