UI组件——WebViewClient部分api解释

  • shouldOverrideUrlLoading
    post不调用此方法,当webview.loadUrl(url),url为非HTTP url 时,返回true

  • onPageStarted
    开始加载,每个主frame只调用一次

  • onPageFinished
    页面加载完成,此时图片可能没有加载

  • onLoadResource
    加载资源

  • onPageCommitVisible
    通知应用程序不在绘制来自上页遗留下来的内容,不知道怎么用。。。

  • shouldInterceptRequest
    加载资源,比如加载本地的一张图片,资源的属性封装在WebResourceResponse中

  • onReceivedError(WebView view, int errorCode,String description, String failingUrl)
    参数释义:errorCode:错误码;description:错误描述;failingUrl:请求时发生错误的url。这个方法表示在资源加载过程中,接收到了错误,此错误通常是指主资源错误(the main resource),比如说,连接失败、超时等都会回调此方法,巴特此方法已经过时了,但是仍可用来做适配用,在API23的时候加入了新的方法onReceivedError(WebView view, WebResourceRequest request, WebResourceError error),WebResourceError 只是对上述过时方法的参数的封装,这个新的方法真是恶心,它表示的不是说主资源加载失败的时候回调这个方法,而是不论哪个资源加载失败都会回调这个方法,比如一个文字,一张图片加载失败都会走这个方法,那么我们怎么判断是否是主资源加载失败呢,看这里,有个WebResourceRequest,这个类里面有个isForMainFrame,如果是主资源就返回true,所以就解决了判断的问题。还有一个比较恶心的地方是,据我的测试,当发生错误的时候这个方法并不是100%的调用,这是最恶心的地方。

  • onReceivedHttpError
    收到有关http的错误,文档上说http返回的状态码是400的时候会回调这个方法,是不是以4开头的状态码都会回调这个方法还有待验证

  • doUpdateVisiteHistory
    更新历史记录

  • onReceivedSslError
    ssl网络传输层证书错误

  • onScaleChanged
    尺寸方式改变的回调

你可能感兴趣的:(Android开发笔记)