Hybrid开发源码分析之safe-java-js-webview-bridge

Posted Rylan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hybrid开发源码分析之safe-java-js-webview-bridge相关的知识,希望对你有一定的参考价值。

周末抽空看了了下safe-java-js-webview-bridge的源码,整理了一份类之间的调用关系图。

该开源库的基本思路分三步:

1.在native端编写调用本地功能的class(如HostJsScope.java),在初始化WebviewChromeClient时根据该class(在JsCallJava构造函数中)反射动态生成js代码;

2.将动态生成的js代码通过webview.loadUrl触发的onProgressChanged注入到webview中,供前端可调用;

3.在前端调用HostJsScope对应的接口,出发webview的onPrompt事件,进而调用本地HostJsScope方法,

  如果是同步且有返回值,通过prompt返回值返回,如果是异步,则反射调用JsCallback将数据返回前端。

该上图了,后面逐步分析调用关系。(由于对UML时序图不甚了解,原谅图中的错误)

技术分享

以上是关于Hybrid开发源码分析之safe-java-js-webview-bridge的主要内容,如果未能解决你的问题,请参考以下文章

混合开发Hybrid App的优劣分析

跨端开发面面谈之基于WebView的Hybrid开发模式

Hybrid框架之交互通信篇

Hybrid App开发之JavaScript基础

Hybrid App开发之jQuery基础

即时通讯开发之在WebSocket基础上实现Hybrid移动端消息推送