Hybird App
Hybrid 开发:JsBridge - Web 和客户端的桥
基本原理
Hybrid开发中,web页面往往会跟native进行交互,而JSBridge就是web页面和native进行通信的桥梁,通过JSBridge可以实现web调用native的方法,native可以通过webview.loadUrl之类的方法,将javascript:xxx代码放在页面执行,这有点类似在浏览器地址栏直接输入:javascript:xxx
web和native进行通信,JsBridge的多种形式
①JavaScriptInterface
// Android java代码
mWebView.addJavascriptInterface(new AndroidInterface(), 'android');
public class AndroidInterface(){
@JavascriptInterface
public void method(){
}
}
// js 代码
window.android.method();
②改写浏览器原有对象
通过修改原来浏览器的window某些方法,然后拦截固定规则的参数,然后分发给Java对应的方法去处理。这里常用的是以下四个方法: