androidjava与js
⑴ java 和 JavaScript 是什么关系
java是一门开发语言~javascript是一门脚本语言
java 开发后台 javascript主要用于前台效果的制作,和前台数据的加载 ,以及html节点的操作
⑵ android java调用js函数可以有返回值吗
您好,很高兴能帮助您, Android中webview和js之间的交互 1.android中利用webview调用网页上的js代码。 Android 中可以通过webview来实现和js的交互,在程序中调用js代码,只需要将webview控件的支持js的属性设置为true
⑶ 如何在android平台上使用js直接调用Java方法
js中需要通过Android的WebView控件来实现js与java相互调用 。
WebView(网络视图)能加载显示网页,可以将其视为一个浏览器。它使用了WebKit渲染引擎加载显示网页,实现WebView有以下两种不同的方法:
1.在要Activity中实例化WebView组件:WebView webView = new WebView(this);
2.调用WebView的loadUrl()方法,设置WevView要显示的网页:
互联网用:webView.loadUrl("http://xxx.xxx.xxx");
本地文件用:webView.loadUrl("file:///android_asset/XX.html"); 本地文件存放在:assets 文件中
3.调用Activity的setContentView( )方法来显示网页视图
4.用WebView点链接看了很多页以后为了让WebView支持回退功能,需要覆盖覆盖Activity类的onKeyDown()方法,如果不做任何处理,点击系统回退剪键,整个浏览器会调用finish()而结束自身,而不是回退到上一页面
5.需要在AndroidManifest.xml文件中添加权限,否则会出现Web page not available错误。
<uses-permission android:name="android.permission.INTERNET" />
⑷ java和Javascript的区别
很多人看到 Java 和 JavaScript 都有“Java”四个字,就以为它们是同一样东西,连我自己当初也是这样。
其实它们是完完全全不同的两种东西。
Java,全称应该是 Java Applet,是嵌在网页中,而又有自己独立的运行窗口的小程序。
Java Applet 是预先编译好的,一个Applet 文件(.class)用 Notepad 打开阅读,根本不能理解。Java Applet 的功能很强大,可以访问 http、ftp等协议,甚至可以在电脑上种病毒(已有先例了)。
相比之下,JavaScript 的能力就比较小了。JavaScript 是一种“脚本”(“Script”),它直接把代码写到 HTML文档中,浏览器读取它们的时候才进行编译、执行,所以能查看 HTML 源文件就能查看JavaScript 源代码。JavaScript 没有独立的运行窗口,浏览器当前窗口就是它的运行窗口。
它们的相同点,我想只有同是以 Java 作编程语言一点了。
⑸ 如何在JAVASCRIPT调用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写业务脚本、以提升加载速度、改善用户体验
⑹ 在Android上怎样实现JAVA和JS交互
java和js交互分为三种情况,分别是:
1 调用网页上的js代码
Android中可以通过webview来实现和js的交互,在程序中调用js代码,只需要将webview控件的支持js的属性设置为true,,然后通过loadUrl就可以直接进行调用,如下所示:
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.loadUrl("javascript:test()");
2 网页java代码的方法
在网页中调用java代码,需要在webview控件中添加javascriptInterface。如下所示:
mWebView.addJavascriptInterface(newObject(){
publicvoidclickOnAndroid(){
mHandler.post(newRunnable(){
publicvoidrun(){
Toast.makeText(Test.this,"测试调用java",Toast.LENGTH_LONG).show();
}
});
}
},"demo");
在网页中,只需要像调用js方法一样,进行调用就可以
<div id='b'><a onclick="window.demo.clickOnAndroid()">b.c</a></div>
3 Java代码调用js并传参
首先需要带参数的js函数,如functiontest(str),然后只需在调用js时传入参数即可,如下所示:
mWebView.loadUrl("javascript:test('aa')");
4.Js中调用java函数并传参
首先一样需要带参数的函数形式,但需注意此处的参数需要final类型,即得到以后不可修改,如果需要修改其中的值,可以先设置中间变量,然后进行修改。如下所示:
mWebView.addJavascriptInterface(newObject(){
publicvoidclickOnAndroid(finalinti){
mHandler.post(newRunnable(){
publicvoidrun(){
intj=i;
j++;
Toast.makeText(Test.this,"测试调用java"+String.valueOf(j),Toast.LENGTH_LONG).show();
}
});
}
},"demo");
然后在html页面中,利用如下代码<divid='b'><aonclick="window.demo.clickOnAndroid(2)">b.c</a></div>,
下面是安卓无忧中js 与安卓相互调用的效果图,可以网络一下安卓无忧,点击源码,看看里面的源码。
⑺ Java与JavaScript有什么关系呢哪个比较好就业
因为名字的关系,总是有人误以为Javascript是Java的一个子集,或者必然会存在一些关系。但是这两种编程语言除了名字开头相同之外,没有其它内在的关系。
一、java与Javascript是由不同的公司开发的不同产品。Java是SUN Microsystems公司推出的新一代面向对象的程序设计语言,特别适合于Internet应用程序开发。实际上,javascript最初的名字并不是javascript,而是LiveScript,名字中的“Java”是经过SUN Microsystems公司授权的。而javascript是Netscape公司的产品,其目的是为了扩展Netscape Navigator功能,而开发的一种可以嵌入Web页面中的基于对象和事件驱动的解释性语言。
二、Java是面向对象的,即Java是一种真正的面向对象的语言,即使是开发简单的程序也必须设计对象。而javascript是基于对象的,它是一种脚本语言,是一种基于对象和事件驱动的编程语言,因而它本身提供了非常丰富的内部对象供设计人员使用。
三、java与Javascript嵌入方式不一样。在HTML文档中,两种编程语言的标识不同,javascript使用来标识,而Java使用Applet来标识。
四、javas与Javacript在浏览器中所执行的方式不一样。Java的源代码在传递到客户端执行之前,必须经过编译,因而客户端上必须具有相应平台上的仿真器或解释器,它可以通过编译器或解释器实现独立于某个特定的平台编译代码。而javascript是一种解释性编程语言,其源代码在发往客户端执行之前不需经过编译,而是将文本格式的字符代码发送给客户,即javascript语句本身随Web页面一起下载下来,由浏览器解释执行。
五、java与Javascript代码格式不一样。Java是一种与HTML无关的格式,必须通过像HTML中引用外媒体那么进行装载,其代码以字节代码的形式保存在独立的文档中,其独立文件的格式为*.class。而javascript的代码是一种谋咀址格式,可以直接嵌入HTML文档中,并且可动态装载,编写HTML文档就像编辑文本文件一样方便,其独立文件的格式为*.js。
六、java与Javascript所采取的变量是不一样的。Java采用强类型变量检查,即所有变量在编译之前必须作声明。javascript中的变量声明采用弱类型,即变量在使用前不需作声明,而是解释器在运行时检查其数据类型。
七、Java采用静态联编,即Java的对象引用必须在编译时的进行,以使编译器能够实现强类型检查。而javascript采用动态联编,即javascript的对象引用在运行时进行检查。
八、而Java则可以直接对文本和图形进行操作。而javascript不直接对文本和图形进行操作,它在Web页面中与HTML元素组合一起发挥作用,但它可以控制浏览器,让浏览器直接对文本和图形进行操作
⑻ android webview实现java与javascript的交互需要什么权限
在android的开发过程中,有很多时候需要用到本地java代码和javascript进行交互。android对交互进行了很好的封装,在开发中我们可以很简单的用java代码调用webview中的js,也可以用webview中的js来调用本地的java代码,这样我们可以实现很多原来做不了的功能,比如点击网页上的电话号码后,手机自动拨打电话,点击网页中的笑话,自动发送短信等.
⑼ 如何在Android平台上使用JS直接调用Java方法
Android平台上使用js调用java方法,主要是通过webview控件提供的webview.addJavascriptInterface(newPerson(this),"per"); 这个方法将java对象注入到js中,然后可以在js中通过调用该java对象的方法来实现回调,如下代码:
1.html文件,demo.html
<html>
<head>
<scripttype="text/javascript">
functionupdateHtml(type,type2){
document.getElementById("content").innerHTML=
"弹出对话框,测试"+type+type2;
alert("dialog");
}
</script>
</head>
<body>
这是一个js与android的例子<aonClick="window.ceshi.startFunction()"href="">弹出对话框</a>
调用对象方法<aonClick="per.print()"href="">调用对象方法</a>
<spanid="content"></span>
</body>
</html>
2.android端控制代码:
packagecom.ccb.javascript;
importandroid.app.Activity;
importandroid.app.AlertDialog;
importandroid.content.Context;
importandroid.content.DialogInterface;
importandroid.os.Bundle;
importandroid.util.Log;
importandroid.view.View;
importandroid.view.View.OnClickListener;
importandroid.webkit.WebView;
importandroid.widget.Button;
importandroid.widget.Toast;
{
intpriceMenu1=1;
/**.*/
@Override
publicvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//获取webView控件
finalWebViewwebview=(WebView)findViewById(R.id.webview);
//加上这句话才能使用javascript方法
webview.getSettings().setJavaScriptEnabled(true);
webview.loadUrl("file:///android_asset/demo.html");
webview.addJavascriptInterface(newPerson(this),"per");
Buttonbutton=(Button)findViewById(R.id.button);//获取button控件
//即"调用html中的js方法"
//按钮
//给button添加事件响应,执行JavaScript的fillContent()方法
button.setOnClickListener(newButton.OnClickListener(){
@Override
publicvoidonClick(Viewv){
webview.loadUrl("javascript:updateHtml('str11','bar22')");//多个参数拼接
}
});
Buttonbutton1=(Button)findViewById(R.id.button1);//获取button1控件
//即"重新加载html"按钮
//给button添加事件响应,执行JavaScript的fillContent()方法
button1.setOnClickListener(newButton.OnClickListener(){
@Override
publicvoidonClick(Viewv){
Log.d("MainActivity","button1OnClick");
webview.loadUrl("file:///android_asset/demo.html");
//return
}
});
//增加接口方法,让html页面调用
webview.addJavascriptInterface(this,"ceshi");
Buttonbuttonceshi=(Button)findViewById(R.id.buttonceshi);
buttonceshi.setOnClickListener(newOnClickListener(){
@Override
publicvoidonClick(Viewv){
}
});
}
publicvoidstartFunction(){
AlertDialog.Builderab=newAlertDialog.Builder(MainActivity.this);
ab.setTitle("提示");
ab.setMessage("通过js调用了java中的方法");
ab.setPositiveButton("确定",newDialogInterface.OnClickListener(){
@Override
publicvoidonClick(DialogInterfacedialog,intwhich){
dialog.dismiss();
}
});
ab.create().show();
}
classPerson{
ContextmContext;
Person(Contextc){
mContext=c;
}
Stringname="我的名字是对象";
intage;
publicStringgetName(){//js里面无法直接使用对象加属性的方式访问,暂时没找到方法,只能用对象加getName
<spanstyle="white-space:pre"></span>returnname;
<spanstyle="white-space:pre"></span>}
publicvoidprint(){
Toast.makeText(mContext,"你好",Toast.LENGTH_LONG).show();
System.out.println("我成功的调用了对象");
}
}
}
运行结果如下:
⑽ 简述java与javaScript的主要区别
java用于b/s得web开发,android开发。javascript用于网页开发。
Java是一种可以撰写跨平台应用程序的面向对象的程序设计语言。
JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言.