ANDROID WEBVIEW和JAVASCRIPT交互_JS调用ANDROID方法
2016-12-20 12:40
871 查看
一、网页的JS代码调用ANDROID中JAVA代码的方法
在网页中调用java代码、需要在webview控件中添加javascriptInterfacecontentWebView = (WebView) findViewById(R.id.webview); //启用javascript contentWebView.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() { @Override public 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
相关文章推荐
- Android Webview和JavaScript交互--JS调用Android方法
- Android WebView使用方法详解 附js交互调用方法
- android之通过webview实现与js方法相互调用,数据交互
- 安卓与JS互调之android webview addJavascriptInterface 的方法不能调用
- 使用webView中的javaScript调用Android方法
- Android中通过WebView控件实现与JavaScript方法相互调用的地图应用
- Android中Webview与JavaScript的交互(互相调用)
- android webView调用js函数的几种方法
- Android ---- WebView与JavaScript交互调用(2)
- Android的Webview中,javascript如何调用java方法
- android利用WebView与JavaScript交互的方法
- Android中在WebView里实现Javascript调用Java类的方法
- android-WebView详解实例(JavaScript调用Java方法,Java调用JavaScript方法)
- webView中js调用android方法一调用程序就退出是怎么回事
- Android的Webview中,javascript如何调用java方法
- Android WebView详解之JS调用Java方法
- Android中WebView实现Javascript调用Java类方法
- WebView之js调用Android类的方法传递数据
- android webview与javascript交互调用
- Android实现js及webview交互之在html页面中调用系统摄像头