Android高手進階教程(二十四)之---Android WebView的快取!!!

android_tutor發表於2011-03-10

各位讀者大家好,最近比較忙好久沒有寫blog了,今天擠點時間和大家分享一下Android中WebView的快取。我們在專案中也時常會用到WebView這個控制元件,當我們載入html時候,會在我們data/應用package下生成database與cache兩個資料夾如下圖如示:

 

我們請求的url記錄是儲存在webviewCache.db裡,而url的內容是儲存在webviewCache資料夾下.

為了讓大家更容易理解,我做一個簡單的例子,我定義一個html檔案,在裡面載入了一個淘寶的衣服圖片的url,用WebView載入出來,然後再試著從快取裡把這張圖片讀取出來。

下面大家可以按照我的步驟一步一步來實踐:

第一步:新建一個Android工程命名為WebViewCacheDemo.目錄結構如下:

第二步:在assets目錄下新建一個html檔案,命名為index.html,(這裡載入了一個淘寶的圖片):

http://img04.taobaocdn.com/imgextra/i4/608825099/T2nGXBXXpaXXXXXXXX_!!608825099.jpg_310x310.jpg

 

 

第三步:修改main.xml佈局檔案一個WebView控制元件一個Button(點選載入快取圖片用),程式碼如下:

 

第四步:修改主核心程式WebViewCacheDemo.java,這裡我只載入了index.html檔案,按鈕事件暫時沒寫,程式碼如下:

 

第五步:在AndroidMainifest.xml檔案中加訪問網路的許可權:

執行效果如下:

此時我們在WebViewCache.db裡的cache.table裡多了一條記錄如下圖所示:

在cache/webviewCache/目錄下多了一個10d8d5cd檔案,剛好和cache.table裡的filepath,我們可以斷定這個檔案就是我們從網上拽下來的圖片:

 

為了驗證猜想,我給Button增加事件響應,就是彈出Dialog,裡面載入快取的圖片,完整程式碼如下:

 

 

 

第六步:再次執行工程,點選button按鈕,效果如下圖所示:

OK,驗證成功,呵呵,今天只是一個簡單的小例子加深大家理解,實際應用肯定比這個複雜的多,希望對大家有所幫助,謝謝!

相關文章