WebView的加载

来源:互联网 发布:java之父有多牛 编辑:程序博客网 时间:2024/06/07 15:40

WebView加载页面的两种方式

一、加载网络页面

  加载网络页面,是最简单的一种方式,只需要传入http的URL就可以,实现WebView加载网络页面

代码如下图:

二、加载本地页面

  1、加载assets目录下的HTML页面:

加载assets目录的页面,大多数可以用来做页面数据的存储打包,这样可以访问 离线文件,不用去进行网络请求,可以减少用户数据流量的使用

示例代码如下:

//加载assets目录文件
webView.loadUrl(“file:///android_asset/staticHtml.html”);

在这里面,解释一下引号里面每个字段的意思和作用:

file字段,表示读取本地文件,不读取网络文件。

android_asset表示读取当前应用的assets目录下的文件

staticHtml.html表示assets目录下的HTML页面

  2、加载缓存到本地的页面

加载缓存到本地的页面,这个主要可以用来做页面的离线缓存

例如将html文件存储到本地文件目录下
复制代码

//文件存储的本地文件夹路径    File filesDir = getFilesDir().getAbsoluteFile();    //本地存储的文件    File destFile = new File(filesDir, "staticHtmlcopy.html");    //将assets路径下的文件copy到filesDir路径下,注:此处也可以通过网络访问,对页面进行存储    InputStream is = null;    try {        is = getAssets().open("staticHtml.html");        if (destFile.exists()) {            destFile.delete();        }        FileOutputStream out = new FileOutputStream(destFile);        try {            byte[] buffer = new byte[4096];            int bytesRead;            while ((bytesRead = is.read(buffer)) >= 0) {                out.write(buffer, 0, bytesRead);            }        } finally {            out.flush();            try {                out.getFD().sync();            } catch (IOException e) {            }            out.close();        }    } catch (IOException e) {        e.printStackTrace();    }    //拼接生成WebView使用的url地址    String url="file://"+destFile.getAbsolutePath();    webView.loadUrl(url);
原创粉丝点击