文末有demo工程和相关lib,附带aar
Android与Js通信的文章已经太多,而且都写的非常详细,这里只针对使用JsBridge的库进行二次封装使用进行介绍,使用简单。
为什么使用JsBridge?
Android 调用 Js 的方法 - Android 没法拿到返回值
Android调用Js方法时,需要手写完整的Js脚本和参数,出错几率大
Js无法知道调用Android本地方法成功与否,需要Android再次调用相关的Js方法,增加前端和Android开发的交互难度。
JsBridge是'大头鬼'为Android与Js交互写的一个通用库,解决了Android无法通过回调与Js交互的问题,并且封装了Android与Js双向的调用方法。
JsBridge 开源地址:https://github.com/lzyzsd/JsBridge
使用步骤
1引入library依赖/导入aar并依赖/直接复制lib中所有的类和assets文件夹下的js注入文件到工程、(由于只是对开源库进行的封装,所以不再发布到jCenter和mavenCentral)
2 将布局文件中的WebView控件替换为BridgeWebView
图2-1
3 初始化工具类,将bridgeWebView传入
WebViewTools webViewTools = new WebViewTools(webView);
4-1