WebView加载页面的两种方式
一、加载网络页面
加载网络页面,是最简单的一种方式,只需要传入http的URL就可以,实现WebView加载网络页面
代码如下图:
二、加载本地页面
1、加载assets目录下的HTML页面:
加载assets目录的页面,大多数可以用来做页面数据的存储打包,这样可以访问 离线文件,不用去进行网络请求,可以减少用户数据流量的使用
示例代码如下:
//加载assets目录文件 webView.loadUrl("file:///android_asset/staticHtml.html");
在这里面,解释一下引号里面每个字段的意思和作用:
android_asset表示读取当前应用的assets目录下的文件
staticHtml.html表示assets目录下的HTML页面
2、加载缓存到本地的页面
//文件存储的本地文件夹路径 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);