美文网首页
Android WebView、WebViewClient、We

Android WebView、WebViewClient、We

作者: Derek_Yan | 来源:发表于2016-11-24 16:56 被阅读311次

WebView

WebView、WebViewClient and WebChormeClient 常用知识点

概述

WebView是Android平台上一个特殊的View,可以用来显示网页

WebView、WebViewClient、WebChormeClient

WebViewClient和WebChormeClient用来辅助WebView

  • WebView职责:解析、渲染网页
  • WebViewClient:辅助WebView处理各种事件、通知
  • WebChromeClient:辅助WebView处理Javascript的对话框,网站图标,网站title,加载进度等

WebView常用方法

设置编码
<pre><code>mWebView.getSettings().setDefaultTextEncodingName("utf-8")</code></pre>
支持js
<pre><code>mWebView.getSettings().setJavaScriptEnabled(true);</code></pre>
设置本地调用对象及其接口(重要知识点跟JS交互就靠他)
<pre><code>mWebView.addJavascriptInterface(new Object(), "myObj");</code></pre>
加载本地网页
<pre><code>mWebView.loadUrl("file:///android_asset/wb.html");</code></pre>
加载网络地址
<pre><code>mWebView.loadUrl("http://www.baidu.com");</code></pre>
加载网页格式的文本
<pre><code>String summary = "<html><body>You scored <b>192</b> points.</body></html>";
mWebView.loadData(summary, "text/html", null);</code></pre>
设置WebViewClient
<pre><code>mWebView.setWebViewClient(mWvClient);</code></pre>
设置WebChromeClient
<pre><code>mWebView.setWebChromeClient(mChrome);</code></pre>

WebViewClient常见方法

加载资源事件 url:链接
<pre><code>public void onLoadResource(WebView view, String url)</code></pre>
请求url开始
<pre><code>public void onPageStarted(WebView view, String url, Bitmap favicon)</code></pre>
请求url结束
<pre><code>public void onPageFinished(WebView view, String url)</code></pre>
请求错误信息
<pre><code>public void onReceivedError(WebView view, WebResourceRequest request, WebResourceError error) -23+
public void onReceivedHttpError(WebView view, WebResourceRequest request, WebResourceResponse errorResponse) -23+
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) -23-</code></pre>
打开方式(程序还是系统浏览器)
<pre><code>public boolean shouldOverrideUrlLoading</code></pre>

WebChormeClient常见方法

获取网页头部icon
<pre><code>public void onReceivedIcon(WebView view, Bitmap icon)</code></pre>
获取头部标题
<pre><code>public void onReceivedTitle(WebView view, String title)</code></pre>
网页加载进度变化
<pre><code>public void onProgressChanged(WebView view, int newProgress)</code></pre>

已上传<a href="https://github.com/DerekYanJ/WebView"> github </a>

相关文章

网友评论

      本文标题:Android WebView、WebViewClient、We

      本文链接:https://www.haomeiwen.com/subject/mfobpttx.html