Android WebView、WebViewClient、WebChormeClient常用知识点

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>

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • WebView·开车指南 目录 WebView简介 WebView基本使用 WebView常用方法 WebSett...
    小庄bb阅读 3,536评论 3 25
  • WebView·开车指南 目录 WebView简介 WebView基本使用 WebView常用方法 WebSett...
    南城的人阅读 4,774评论 0 19
  • Tips 由于WebView的用法实在太多,如果您只是想查询某个功能的使用——建议Ctrl+F(Commad+F)...
    BugDev阅读 7,768评论 11 109
  • WebView常用方法 String getUrl():获取当前页面的URL。 reload():重新reload...
    JuSong阅读 3,340评论 0 3
  • WebView·开车指南 2016-08-31BugDev 北京市东城区首席Bug布道师开山之作,一整月交通事故血...
    53c021c38a1d阅读 847评论 0 1