ANDROID WEBVIEW和JAVASCRIPT交互_JS调用ANDROID方法
来源:互联网 发布:日本爱知时计 编辑:程序博客网 时间:2024/06/05 23:07
今天在Android的开发过程中、遇到一个新需求、那就是让Java代码和Javascript代码进行交互、在IOS中实现起来很麻烦、而在Android中相对来说容易多了、Android对这种交互进行了很好的封装、我们可以很简单的用Java代码调用WebView中的js函数、也可以用WebView中的js来调用Android应用中的Java代码
一、网页的JS代码调用ANDROID中JAVA代码的方法
在网页中调用java代码、需要在webview控件中添加javascriptInterface
contentWebView = (WebView) findViewById(R.id.webview);//启用javascriptcontentWebView.getSettings().setJavaScriptEnabled(true);contentWebView.addJavascriptInterface(this, "js对象名");
在Activity中定义一个要被js调用的方法、src为js传递过来的参数、如果没有不传也可以的哈
public void jsFunction(final String str) {Toast.makeText(this, str, Toast.LENGTH_SHORT).show();runOnUiThread(new Runnable() {@Overridepublic void run() {//在里对Android应用的UI进行处理}});}
在网页中、只需要像调用js方法一样、进行调用就可以
<a onClick="window.js对象名.jsFunction(´hello world´)" >点击调用java代码并传递参数</a>
二、ANDROID中JAVA代码调用网页的JS代码的方法
Java代码调用js并传参其实是通过WebView的loadUrl方法去调用的、只是参数url的写法不一样而已
// 无参数调用contentWebView.loadUrl("javascript:javacalljs()");// 传递参数调用contentWebView.loadUrl("javascript:javacalljswithargs(" + "´hello world´" + ")");
三、JAVA和JS交互注意事项
1、Java 调用 js 里面的函数、效率并不是很高、估计要200ms左右吧、做交互性很强的事情、这种速度很难让人接受、而js去调Java的方法、速度很快、50ms左右、所以尽量用js调用Java方法
2、Java 调用 js 的函数、没有返回值、调用了就控制不到了
3、Js 调用 Java 的方法、返回值如果是字符串、你会发现这个字符串是 native 的、转成 locale 的才能正常使用、使用 toLocaleString() 函数就可以了、不过这个函数的速度并不快、转化的字符串如果很多、将会很耗费时间
4、网页中尽量不要使用jQuery、执行起来需要5-6秒、最好使用原生的js写业务脚本、以提升加载速度、改善用户体验
地址:http://dwtedx.com/itshare_282.html
0 0
- ANDROID WEBVIEW和JAVASCRIPT交互_JS调用ANDROID方法
- Android Webview和JavaScript交互--JS调用Android方法
- Android Webview 和Javascript交互调用
- Android WebView和JavaScript交互
- android webview与javascript交互调用
- Android ---- WebView与JavaScript交互调用(1)
- Android ---- WebView与JavaScript交互调用(2)
- Android Webview 和Javascript交互,实现Android和JavaScript相互调用
- Android WebView JavaScript交互
- Android WebView JavaScript交互
- Android WebView JavaScript交互
- Android Webview Java和Javascript安全交互
- Android WebView和JavaScript之间的交互
- Android Webview Java和Javascript安全交互
- Android Webview Java和Javascript安全交互
- Android WebView Java和JavaScript的交互
- android webview和 javascript 进行交互
- Android 和 javascript 之间交互(方法相互调用)
- 客户端SVN安装及详解
- 统计各点PM2.5的最大值
- Hbase葱岭探秘--Hbase管理功能Api
- Spring service本类中方法调用另一个方法事务不生效问题
- Ubuntu安装VMware-tools时出现the path "" is not a valid path would you like to change it-完美解决方案
- ANDROID WEBVIEW和JAVASCRIPT交互_JS调用ANDROID方法
- 第七十三天学习笔记
- Maven学习 (一) 搭建Maven环境
- android之存储篇_SQLite数据库_让你彻底学会SQLite的使用
- iOS开发中的性能优化(下)
- bzoj 3851 2048 dp
- 【NOIP2016普及组】复赛——海港
- mllib逻辑回归LogisticRegressionWithLBFGS LogisticRegressionModel源码分析
- 开发者需要了解的WebKit