「js和java交互方式」java怎么实现交互

博主:adminadmin 2022-11-27 12:39:08 53

本篇文章给大家谈谈js和java交互方式,以及java怎么实现交互对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

在Android上怎样实现JAVA和JS交互

在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);

//启用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写业务脚本、以提升加载速度、改善用户体验

js怎么调用JAVA方法

一般的浏览器中是无法通过js调用本地java程序的,但是可以调用嵌入到网页的applet的方法。交互方式如下:

applet codebase = "." width = "400" height  = "400"

  name= "MyApplet" code = "test.applets.MyApplet1.class" 

script

// js访问applet属性:document.appletName.appletField (属性必须是public的) 

// js访问Applet方法:document.appletName.appletMethod (方法必须是public的)

function showLable{

     // 调用test.applets.MyApplet1类的invokeByJS方法 

     document.applets["MyApplet"].invokeByJS('myvalue');

}

/script

webview js 与 java 交互

可以,只要你是用webview打开的,那么不管事远程还是本地,都可以通过webview与app的本地java代码进行交互。没有任何区别。

1、webview必须设置支持Javascript

mWebview.getSettings().setJavaScriptEnabled(true);

2、加进一个回调的代理类JavaScriptInterface,并给它一个调用的名称:ncp

mWebView.addJavascriptInterface(new JavaScriptInterface(), "ncp");

final class JavaScriptInterface {

public int callOnJs() {

return 1000;

}

public void callOnJs2(String mode) {

//TODO

}

}

3、JS页面

script type="text/javascript"

window.onload = function(){

document.getElementById('btn_1').addEventListener('click', onBtnClick, false);

var _int_value = window.ncp.callOnJs();

alert("get int from java:" + _int_value );

}

function onBtnClick() {

window.ncp.callOnJs2("click");

}

/script

接下来就可以调用js方法了,

1、Java调用js方法

mWebView.loadUrl("javascript:onSaveCallback()");

2、JS访问java方法

window.ncp.callOnJs2("click");

如何 js 直接调用 java

使用ajax用js发送异步请求到java进行交互

使用dwr框架,可以实现js和java的直接交互

Java和JS之间的交互有哪几种

问的问题本身就是错误的,没有所谓的js与java交互,只有浏览器与服务器交互,无论是传统页面跳转还是ajax都是浏览器与服务器交互。js可以被其它浏览器脚本语言替代,java也可以被其它服务器语言替代。作为语言本身,并不与另外语言有所交集。

本质上都是http请求,一个请求分为请求行、请求头、和请求体

关于js和java交互方式和java怎么实现交互的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-11-27,除非注明,否则均为首码项目网原创文章,转载请注明出处。