當前位置:首頁 » 安卓系統 » androidjava與js

androidjava與js

發布時間: 2022-06-13 05:57:56

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引擎,為瀏覽器的一部分,廣泛用於客戶端的腳本語言.

熱點內容
內置存儲卡可以拆嗎 發布:2025-05-18 04:16:35 瀏覽:332
編譯原理課時設置 發布:2025-05-18 04:13:28 瀏覽:372
linux中進入ip地址伺服器 發布:2025-05-18 04:11:21 瀏覽:607
java用什麼軟體寫 發布:2025-05-18 03:56:19 瀏覽:27
linux配置vim編譯c 發布:2025-05-18 03:55:07 瀏覽:101
砸百鬼腳本 發布:2025-05-18 03:53:34 瀏覽:935
安卓手機如何拍視頻和蘋果一樣 發布:2025-05-18 03:40:47 瀏覽:732
為什麼安卓手機連不上蘋果7熱點 發布:2025-05-18 03:40:13 瀏覽:798
網卡訪問 發布:2025-05-18 03:35:04 瀏覽:506
接收和發送伺服器地址 發布:2025-05-18 03:33:48 瀏覽:368