栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Cordova源码解析

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Cordova源码解析

Cordova源码解析

Apache Cordova是一个开源的移动开发框架,封装了native和js通讯等功能。通常,当我们需要开发具有h5功能的混合App时,可能会使用Cordova框架。

本篇文章将会从大的层面分析Cordova源码。

Cordova的通信流程

Cordova的整体native和js的通信流程如下图:

分析上图可知:

  1. SystemExposedJsApi
    js通过@JavascriptInterface机制调用native方法,主要有exec、setNativeToJsBridgeMode
    以及retrieveJsMessages三个方法。三个方法的功能分别是:
  • exec:调用native具体的插件方法;

  • setNativeToJsBridgeMode: 设置native的BridgeMode模式;

  • retrieveJsMessages:js主动获取native中需要给到js的消息。

    以上三个方法的最终执行是在CordovaBridge的对应方法中。这三个方法在执行的时候,都会校验方法的入参bridgeSecret。js的bridgeSecret值是通过走onJsPrompt机制,调用到CordovaBridge的promptOnJsPrompt方法的“gap_init:” case获取的。
    注:js也支持走onJsPrompt机制,达到执行exec、setNativeToJsBridgeMode
    以及retrieveJsMessages三个方法的效果。

  1. NativeToJsMessageQueue
    该类的作用主要是:
  • 管理native给js的消息队列;
  • 按照cordova规范,将消息队列中的消息转成字符串格式,用来发给js。
  1. BridgeMode
    BridgeMode主要用来native给js主动发送消息,比如native插件中,异步业务执行结束后,给js的回调信息。以及native给js发送一些事件消息等。
CordovaInterfaceImpl

CordovaInterfaceImpl主要包装activity相关功能,比如打开activity页面、请求系统权限等。

CordovaWebViewImpl


外部可以把CordovaWebViewImpl当作webview使用,且其还包含了一些对activity生命周期方法的处理。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/943420.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号