1 / 8
文档名称:

Cordova Android源码分析系列二(CordovaWebView相关类分析).docx

格式:docx   大小:46KB   页数:8页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

Cordova Android源码分析系列二(CordovaWebView相关类分析).docx

上传人:mh900965 2018/1/3 文件大小:46 KB

下载得到文件列表

Cordova Android源码分析系列二(CordovaWebView相关类分析).docx

相关文档

文档介绍

文档介绍:本篇文章是Cordova Android源码分析系列文章的第二篇,主要分析CordovaWebView和CordovaWebViewClient类,通过分析代码可以知道Web网页加载的过程,错误出来,多线程处理等。
CordovaWebView类分析
    CordovaWebView类继承了Android WebView类,这是一个很自然的实现,共1000多行代码。包含了PluginManager pluginManager,BroadcastReceiver receiver,CordovaInterface cordova, CordovaWebViewClient viewClient,CordovaChromeClient chromeClient,NativeToJsMessageQueue jsMessageQueue ,ExposedJsApi exposedJsApi,CordovaResourceApi resourceApi等重要的成员变量,与其它核心类关联起来。
    提供了4个构造函数:CordovaWebView(Context context),CordovaWebView(Context context, AttributeSet attrs, int defStyle, boolean privateBrowsing) ,分别对应Android WebView类的相应构造函数。这些构造函数首先调用WebView的相应构造函数,然后初始化cordova类变量,按情况依次调用自身的setWebChromeClient,initWebViewClient,loadConfiguration,setup方法。
    setWebChromeClient方法设置WebChromeClient,调用了WebView类的setWebChromeClient方法。
    initWebViewClient方法根据Android SDK版本的不同,分别调用setWebViewClient,针对IceCreamSandwich版本,调用setWebViewClient(new IceCreamCordovaWebViewClient(, this))。暂时不知道具体的原因。
[java] view plain copy
/** 
 * set the WebViewClient, but provide special case handling for IceCreamSandwich. 
 */  
private void initWebViewClient(CordovaInterface cordova) {  
    if( <  ||  
             > )  
    {  
        (new CordovaWebVie