WebViewJavascriptBridge 实现js和java的交互
来源:互联网 发布:有哪些高仿淘宝店铺 编辑:程序博客网 时间:2024/06/06 02:27
按安卓开发目前现状来说,开发者大部分时间还是花在UI的屏幕适配上,使用原生控件开发成本已不是那么理想,鉴于很多项目和ios基于一致的ui界面,至使安卓UI开发成本花费更大的代价,因此目前结合Html5和原生控件是解决UI适配的一种很好的选择,处于APP性能也会用java和native层进行结合。不管是哪种结合,其实原理都差不多,只要按照它的协议来,是很容易的,今天我们仅对于Html和Java层结合,学习下一个新的开源项目--WebViewJavascriptBridge。
一 什么是webViewjavascripBridge?
WebViewJavascriptBridge是移动UIView和Html交互通信的桥梁,用作者的话来说就是实现java(ios为oc)和js的互相调用的桥梁。替代了WebView的自带的JavascriptInterface的接口,使得我们的开发更加灵活和安全。
二 为什么要用webViewjavascripBridge?
对于安卓开发有一段时间的人来说,知道安卓4.4以前谷歌的webview存在安全漏洞,网站可以通过js注入就可以随便拿到客户端的重要信息,甚至轻而易举的调用本地代码进行流氓行为,谷歌后来发现有此漏洞后,增加了防御措施,如果要是js调用本地代码,开发者必须在代码申明JavascriptInterface, 列如在4.0之前我们要使得webView加载js只需如下代码:mWebView.addJavascriptInterface(new JsToJava(), "myjsfunction");
4.4之后调用需要在调用方法加入加入@JavascriptInterface注解,如果代码无此申明,那么也就无法使得js生效,也就是说这样就可以避免恶意网页利用js对安卓客户端的窃取和攻击。
但是即使这样,我们很多时候需要在js记载本地代码的时候,要做一些判断和限制,或者有可能也会做些过滤和对用户友好提示,因此JavascriptInterface也就无法满足我们的需求了,特此有大神就写出了WebViewJavascriptBridge框架。
三 怎么使用webViewjavascripBridge
1 将jsBridge.jar引入到我们的工程
此jar,或者jar源码我们可以到gitHub上下载。2 WebView包需使用以上包的webView
http://www.bkjia.com/Androidjc/1042382.html
0 0
- WebViewJavascriptBridge 实现js和java的交互
- Android 中利用WebViewJavascriptBridge 实现js和java的交互
- Android 利用WebViewJavascriptBridge 实现js和java的交互
- Android 利用WebViewJavascriptBridge 实现js和java的交互
- Android 中利用WebViewJavascriptBridge 实现js和java的交互
- Android 利用WebViewJavascriptBridge 实现js和java的交互
- Android 利用WebViewJavascriptBridge 实现js和java的交互
- Android 利用WebViewJavascriptBridge 实现js和java的交互(一)
- Android 利用WebViewJavascriptBridge 实现js和java的交互(一)
- Android 利用WebViewJavascriptBridge 实现js和java的交互(一),androidjsbridge
- WebViewJavascriptBridge源码探究--看OC和JS交互过程(介绍了WebViewJavascriptBridge的实现过程)
- Android中WebViewJavascriptBridge实现JS与java安全交互
- iOS OC与JS的交互(WebViewJavascriptBridge实现)
- 通过WebViewJavascriptBridge实现OC与JS交互
- 使用WebViewJavascriptBridge实现OC与JS交互
- 使用WebViewJavascriptBridge实现OC与JS交互
- JS和Native交互之 -WebViewJavascriptBridge
- WebViewJavascriptBridge js和原生交互 注意点
- Jmeter中的几个重要测试指标释义
- UIBezierPath详解
- WEB收银系统(只截取我所负责的模块)
- COJS.36求和问题
- Android四大组件之Activity
- WebViewJavascriptBridge 实现js和java的交互
- Currency Exchange_poj1860
- 数据科学家能力发展路线图
- CG和免费的资源
- java项目开发如何自制java打补丁工具
- iOS项目上传到AppStore步骤流程
- 线程池与Thread
- iOS网络编程(http、socket)
- 第一章 数据库语言基础