在Android上怎樣實(shí)現(xiàn)JAVA和JS交互呢?Android的webview是基于webkit內(nèi)核的,webview中集成了js與java互調(diào)的接口函數(shù),通過addJavas criptInterface方法,可以將Java的類注冊(cè)進(jìn)webkit,給網(wǎng)頁上的js進(jìn)行調(diào)用,而且還可以通過loadUrl方法是給webkit傳遞一個(gè)URL,供瀏覽器來進(jìn)行解析,實(shí)現(xiàn)Java和js交互。
10年積累的成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶對(duì)網(wǎng)站的新想法和需求。提供各種問題對(duì)應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先網(wǎng)站設(shè)計(jì)制作后付款的網(wǎng)站建設(shè)流程,更有肥西免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
要想運(yùn)行網(wǎng)頁上的js腳本,webview必須設(shè)置支持Javas cript。
Java代碼
1mWebview.getSettings().setJavas criptEnabled(true);
然后是設(shè)置webview要加載的網(wǎng)頁:
web的網(wǎng)頁:webView.loadUrl("");
本地的網(wǎng)頁:webView.loadUrl(""); //本地的存放在:assets文件夾中
webview做完基本的初始化后我們還要要給它,加進(jìn)一個(gè)回調(diào)的代理類Javas criptInterface,并給它一個(gè)調(diào)用的名稱:ncp
Java代碼
1mWebView.addJavas criptInterface(new Javas criptInterface(),"ncp");
Javas criptInterface可以是一個(gè)普通的Java類,類實(shí)現(xiàn)的方法,均可被js回調(diào):
Java代碼
final class Javas criptInterface {
public int callOnJs() {
return 1000;
}
public void callOnJs2(String mode) {
//TODO
}
}
Java要調(diào)用js的方法,只需知道js的方法名稱即可:
Java代碼
1mWebView.loadUrl("javas cript:onSaveCallback()");
首先要搭建android開發(fā)環(huán)境,eclipse為例,先下載安裝android sdk, 之后安裝eclipse插件adt.然后在eclipse打開AVD(android virtual device)?,F(xiàn)在假設(shè)你的環(huán)境已經(jīng)打好。新建一個(gè)android項(xiàng)目,里面自動(dòng)生成一個(gè)類,Main什么的,名字不記得,之后把你的代碼復(fù)制過去,如果你有圖形用戶界面,那還要重寫界面,因?yàn)閍nroid并不用swing組件,如果沒有界面,需要交互的話你自己寫個(gè)簡(jiǎn)單界面??傊m然android用的是java代碼,不過是有自己的API,和java的JDK還是有些區(qū)別。但是java自身的語言機(jī)制比如繼承,多態(tài),泛型等等還是可以使用。
應(yīng)用程序開發(fā)用java,你看api里面的源碼就知道了,都是java代碼,當(dāng)然android底層肯定不是java寫的。\x0d\x0a\x0d\x0a如果需要涉及到底層的需要調(diào)用ndk,這時(shí)就需要c/c++了。\x0d\x0a如果是游戲開發(fā)的話看游戲引擎,像cocos2d-x就是c++,unity3d的話就用c#。
改成這樣
EditText edt = (EditText)MyAndroidActivity.this.findViewById(R.id.edt);
TextView txt = (TextView)MyAndroidActivity.this.findViewById(R.id.txt);
你在String.xml中的那個(gè)helloWorld只是一個(gè)字符串的鍵值對(duì)和這里沒有半點(diǎn)關(guān)系
安卓系統(tǒng)中的c4droid是一個(gè)可以打代碼的手機(jī)軟件,如同Visual C++ 6.0那樣編輯編譯C程序。
下面是詳細(xì)信息
軟件名稱:c4droid
軟件語言:中/英 文
軟件大?。?.7M
應(yīng)用平臺(tái):Android 2.2以上版本
c4droid是款A(yù)ndroid設(shè)備上的C/C++程序編譯器,默認(rèn)以tcc(tiny c compiler)為編譯器,可以選擇安裝gcc插件(20mb,只有root用戶可以使用),選用gcc后,可以用sdl(簡(jiǎn)單直控媒體層庫,需安裝sdl plugin for c4droid)和qt(nokia官方開發(fā)庫,需安裝sdl plugin for c4droid)。也可以開發(fā)native android app(需安裝sdl plugin for c4droid),就像google ndk一樣。軟件支持代碼高亮,編譯時(shí)間隨cpu主頻而定,主頻越高編譯越快。gcc插件版本4.7.2提供了示列程序,包含sdl,android native,qt和命令行測(cè)試程序源碼。
Sand是一個(gè)Android平臺(tái)下的Java集成開發(fā)環(huán)境(IDE)。首先,Sand包含了一個(gè)功能強(qiáng)大的Java編輯器,支持Java關(guān)鍵字高亮,顯示行號(hào),多文件編輯,支持藍(lán)牙鍵盤,自動(dòng)對(duì)齊,自動(dòng)補(bǔ)足等;其次,Sand是一個(gè)完整的Java編譯器,可以用于編譯Java工程;最后,Sand可以運(yùn)行編譯好的Java工程,有專門的控制臺(tái)負(fù)責(zé)輸入和輸出。
總之,Sand將您的Android設(shè)備華麗變身為一個(gè)真正的Java開發(fā)工具,您可以隨時(shí)隨地編寫Java程序。
當(dāng)前文章:安卓軟件Java代碼,手機(jī)運(yùn)行java代碼的軟件
轉(zhuǎn)載來源:http://jinyejixie.com/article2/hsohoc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供響應(yīng)式網(wǎng)站、企業(yè)網(wǎng)站制作、用戶體驗(yàn)、搜索引擎優(yōu)化、網(wǎng)站策劃、網(wǎng)頁設(shè)計(jì)公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)