java中的接口是类吗
370
2022-11-03
Android WebView的缓存
各位读者大家好,最近比较忙好久没有写blog了,今天挤点时间和大家分享一下Android中WebView的缓存。我们在项目中也时常会用到 WebView这个控件,当我们加载html时候,会在我们data/应用package下生成database与cache两个文件夹如下图如示:
我们请求的url记录是保存在webviewCache.db里,而url的内容是保存在webviewCache文件夹下.
为了让大家更容易理解,我做一个简单的例子,我定义一个html文件,在里面加载了一个淘宝的衣服图片的url,用WebView加载出来,然后再试着从缓存里把这张图片读取出来。
下面大家可以按照我的步骤一步一步来实践:
第一步:新建一个Android工程命名为WebViewCacheDemo.目录结构如下:
第二步:在assets目录下新建一个html文件,命名为index.html,(这里加载了一个淘宝的图片):
< ?xml version="1.0" encoding="utf-8"?>2. < LinearLayout xmlns:android="android:orientation="vertical"4. android:layout_width="fill_parent"5. android:layout_height="fill_parent"6. >7. < WebView8. android:id="@+id/webview"9. android:layout_width="fill_parent"10. android:layout_height="wrap_content"11. />12. < Button13. android:id="@+id/button"14. android:layout_width="fill_parent"15. android:layout_height="wrap_content"16. android:text="从缓存里读取图片"17. />18. < /LinearLayout>
第四步:修改主核心程序WebViewCacheDemo.java,这里我只加载了index.html文件,按钮事件暂时没写,代码如下:
XML/HTML代码
1. package com.tutor.webviewcache;2. import android.app.Activity;3. import android.os.Bundle;4. import android.view.View;5. import android.view.View.OnClickListener;6. import android.webkit.WebView;7. import android.widget.Button;8. public class WebViewCacheDemo extends Activity {9. 10. private WebView mWebView;11. //private Button mButton;12. url = "file:///android_asset/index.html";13. @Override14. public void onCreate(Bundle savedInstanceState) {15. super.onCreate(savedInstanceState);16. setContentView(R.layout.main);17. 18. mWebView19. mWebView.loadUrl(url);20. 21. mButton22. // mButton.setOnClickListener(listener);23. }24. }
第五步:在AndroidMainifest.xml文件中加访问网络的权限:
XML/HTML代码
< uses-permission android:name= "android.permission.INTERNET" />
运行效果如下:
此时我们在WebViewCache.db里的cache.table里多了一条记录如下图所示:
在cache/webviewCache/目录下多了一个10d8d5cd文件,刚好和cache.table里的filepath,我们可以断定这个文件就是我们从网上拽下来的图片:
为了验证猜想,我给Button增加事件响应,就是弹出Dialog,里面加载缓存的图片,完整代码如下:
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~