Android Cordova SDK核心类作用说明及分类

android cordova sdk 可以在 "cordova项目/platforms/android/CordovaLib/src/org/apache/cordova/"下找到

通信接口相关

SystemExposedJsApi.java

该文件主要定义要暴露给JS的方法,并通过以下方法将对象暴露出去
webView.addJavascriptInterface(new SystemExposedJsApi(bridge), "_cordovaNative");
此时可以通过window._cordovaNative.xxx方访问对象中的方法

SystemWebChromeClient.java

简单的说该类是用来拦截webview上的弹框,比如prompt alert confirm 使用该类实现对弹框的拦截
cordova.js中通过prompt方式来实现数据交互也是由该类来负责由js到native的数据接收和处理工作
该类中的onJsPrompt方对应具体逻辑

CordovaBridge.java

SystemWebChromeClient.java 中对onJsPrompt拦截的数据最终由该类来处理,于该类对应的脚本模块为
"cordova/android/promptbasednativeapi",
简言之该类的作用
1:通过前端传来的参数执行具体的插件;
2.设置桥接模式(即native到js的数据是通过何种方式回传的)
3.直接检索原生的变量值并返回给前端(原生执行插件的结果最终由NativeToJsMessageQueue.java对象来维护,
直接检索该变量来获得插件执行结果并返回给前端)

CallbackContext.java

每次exec的操作都将生成一个callbackId,前端将ID传给native并由该类维护ID,之后native根据该ID来搜索于该ID对应的回调方法
前端每次exec的时候都会将回调函数和callbackId做关联

插件处理相关

PluginEntry.java

该类的作用是维护插件的类名,并根据类名来动态生成实例

ConfigXmlParser.java

该文件作用是解析config.xml文件,初始化PlugingEntry

CordovaPlugin.java

任何一个插件均要继承自该类

PluginManager.java

故名思议就用来管理CordovaPlugin对象

PluginResult.java

封装每次插件的执行结果

CoreAndroid.java

核心插件。于该文件对应的前端脚本模块是cordova/plugin/android/app,执行清除缓存,载入url,音量键,菜单键监听等操作

消息处理及反馈相关

NativeToJsMessageQueue.java

用来处理插件的执行结果,并将结果回吐给前端,同时定义桥接模式BridgeMode,并维护桥接模式队列,桥接模式的初始化见
SystemWebViewEngine.java文件 nativeToJsMessageQueue.addBridgeMode
注:CordovaBridge使用来设置桥接模式的也是通过NativeToJsMessageQueue类进行设置

界面相关

SystemWebView.java

SystemWebViewClient.java

SystemWebChromeClient.java

SystemWebViewEngine.java

CordovaWebViewImpl.java

CordovaActivity.java

简而言之webview

results matching ""

    No results matching ""