WebView是术语,是指网页视图。可以内嵌在移动端,实现前端的混合式开发,大多数混合式开发框架都是基于WebView模式进行二次开发的。
显示和渲染Web页面
直接使用html文件(网络上或本地assets中)作布局
可和JavaScript交互调用
WebView控件功能强大,除了具有一般View的属性和设置外,还可以对url请求、页面加载、渲染、页面交互进行强大的处理。
原生APP是将页面的布局设计,以及业务代码打包然后用户下载安装使用,而webview是通过加载html文件来进行页面的展示,当需要更新页面布局的或者业务逻辑变更时,如果是原生的APP就需要修改前端内容,升级打包,重新发布才可以使用最新的。
而通过webview方式的页面则只需要修改html代码或者js文件(如果是从服务器端获取,只要新的文件部署完成),用户重新刷新就可以使用更新后的,无需通过下载安装的方式完成升级。
一般来说Webview可单独使用,可联合其子类一起使用,下面会介绍几种:
1.Webview自身的常见方法;
2.Webview的最常用的子类
3.(WebSettings类、WebViewClient类、WebChromeClient类)
Android和Js的交互
3.1 Webview常用方法
3.1.1 加载URL
可以根据资源分为三种:
方式1. 加载一个网页:webView.loadUrl(“页面不存在_百度搜索);
方式2:加载apk包中的html页面
webView.loadUrl(“file:///android_asset/test.html”);
方式3:加载手机本地的html页面
webView.loadUrl(“content://com.android.htmlfileprovider/sdcard/test.html”);
方式4: 加载 HTML 页面的一小段内容
WebView.loadData(String data, String mimeType, String encoding)
参数说明:
参数1:需要截取展示的内容
内容里不能出现 ’#’, ‘%’, ‘\’ , ‘?’ 这四个字符,若出现了需用 %23, %25, %27, %3f 对应来替代,否则会出现异常
参数2:展示内容的类型
参数3:字节码