一:什么是WebView
WebView是android中UI组件的一种
二:WebView加载网页的四种方式
1, loadUrl(String url) 直接加载⼀个⽹⻚进来,这个⽹ ⻚可以是⽹络上的地址,也可以 是⼿机本地的html⻚⾯,也可是项⽬资源⽂件下的html⻚⾯。
mWebView.loadUrl("https://www.baidu.com/");
mWebView.setWebViewClient(new WebViewClient());
2,loadUrl(String url, Map<String, String> additionalHttpHeaders) 直接加载⼀个⽹⻚进来,但是它 提供了⼀个可以让我们添加
requestHeader的参数,我们在 这⾥加⼊的集合,会被添加到⽹ ⻚的requestHeader
mWebView.setWebViewClient(new WebViewClient(){
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
Map<String,String> reHeader = new HashMap<>();
reHeader.put("android-webview-demo","test");
mWebView.loadUrl("http://192.168.1.54:3000/" ,reHeader);
return super.shouldOverrideUrlLoading(view, url);
}
});
3,loadData(Stringdata, String mimeType, String encoding) 直接加载⼀段html⽂本,我们给他指定需要加载的html⽂本的内 容、mime类型,和编码格式。注 意:‘#’, ‘%’, ‘\’, ‘?’ 这四种符号需 要使⽤ %23, %25, %27, %3f encode编码来替代。
mWebView.loadData("<h1>hanjie</h1>","text/html; charset=utf-8", null);
4, loadDataWithBaseURL(String baseUrl,String data, String mimeType, String encoding, String historyUrl)
基于⼀个基本的url,来加载⼀段 html内容,并且我们可以给他指 定⼀个浏览历史的地址,当我们
从当前⻚⾯跳转出去之后,可以后退到这个浏览历史的地址中
mWebView.loadDataWithBaseURL("https://www.imooc.com/" , "<img src=\"static/img/index/logo.png\"/><a href=\"https://www.imooc.com/\">百度</a>", "text/html", "utf-8","https://www.qq.com/");
mWebView.setWebViewClient(new WebViewClient());