簡介
最近項目當中用到了jsbridge架構,于是先記錄一下android調用h5和h5調用android的使用方法。
github位址是jsbridge
當我們遇到bug或者坑的時候别慌,先去github上的issues上浏覽一遍再說,因為這種star數很多的,肯定有人已經遇到過坑了。
android調用js
- BridgeWebview.send(jsFunctionName);
- BridgeWebview.send(jsFunctionName,CallBackFunction);
- BridgeWebview.callHandler(jsFunctionName,data,CallBackFunction);
注釋
- jsfunctionName是js那邊的函數名
- data是android傳遞給js的資料,是以json字元串的形式傳遞過去
- callBackFunction是回調函數(函數裡面包含了js的傳回值)
注意
- 發送資料給js的時候必須要在主線程。切記
js調用android
-
BridgeWebview.registerHandler(functionName,new BridgeHandler(){
@Override public void handler(String data,CallbackFunction function){
// data是js傳遞給android的字元串資料
// function.oncallback(String); 我們接受到資料是否需要告訴js
}
})
- BridgeWebview.setDefaultHandler(new DefaultHandler())
注釋
- 一般我們都使用registerHandler的形式。