java與js代碼互調(diào)示例代碼
更新時(shí)間:2013年07月25日 16:56:12 作者:
用到j(luò)ava和js方法互調(diào),在用HTML5做跨平臺(tái)應(yīng)用開(kāi)發(fā)時(shí)經(jīng)常會(huì)用到,在這里分享一些自己在實(shí)際開(kāi)發(fā)過(guò)程中的用法,希望對(duì)初學(xué)者有所幫助
在用HTML5做跨平臺(tái)應(yīng)用開(kāi)發(fā)時(shí),嘗嘗會(huì)用到j(luò)ava和js方法互調(diào)的問(wèn)題,對(duì)初學(xué)者而言,可能會(huì)有點(diǎn)難,在這里分享一些自己在實(shí)際開(kāi)發(fā)過(guò)程中的用法,希望對(duì)你有幫助:
首先是js代碼調(diào)用java代碼介紹:
public class CzingLBWebMain extends DroidGap {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.loadUrl(file:///android_asset/www/czingIndexHome.html);
WebSettings webSettings = this.appView.getSettings();
webSettings.setLoadWithOverviewMode(true);
webSettings.setSavePassword(false);
webSettings.setSaveFormData(false);
webSettings.setSupportZoom(false);
webSettings.setAllowFileAccess(true);
webSettings.setJavaScriptEnabled(true);
webSettings.setPluginState(WebSettings.PluginState.ON);
// 向js中添加一個(gè)java實(shí)例,以便js代碼調(diào)用java代碼
this.appView.addJavascriptInterface(this, "appDownloader");
}
public void callBackJava(){
}
}
然后就可以在czingIndexHome.html引用的js文件中直接通過(guò)window.appDownloader.callBackJava()來(lái)直接調(diào)用上面的callBackJava()方法了.
然后就是如何通過(guò)java代碼調(diào)用js代碼:
在java中通過(guò)如下方式來(lái)實(shí)現(xiàn):
String resUrl="aa";
String resId="bb";
String callBack="javascript:callBackServive('"+resUrl+"','"+resId+"')";//注意傳遞兩個(gè)以上參數(shù)的方法
this.appView.loadUrl(callBack);
callBackServive就是在js中實(shí)現(xiàn)的方法.
首先是js代碼調(diào)用java代碼介紹:
復(fù)制代碼 代碼如下:
public class CzingLBWebMain extends DroidGap {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.loadUrl(file:///android_asset/www/czingIndexHome.html);
WebSettings webSettings = this.appView.getSettings();
webSettings.setLoadWithOverviewMode(true);
webSettings.setSavePassword(false);
webSettings.setSaveFormData(false);
webSettings.setSupportZoom(false);
webSettings.setAllowFileAccess(true);
webSettings.setJavaScriptEnabled(true);
webSettings.setPluginState(WebSettings.PluginState.ON);
// 向js中添加一個(gè)java實(shí)例,以便js代碼調(diào)用java代碼
this.appView.addJavascriptInterface(this, "appDownloader");
}
public void callBackJava(){
}
}
然后就可以在czingIndexHome.html引用的js文件中直接通過(guò)window.appDownloader.callBackJava()來(lái)直接調(diào)用上面的callBackJava()方法了.
然后就是如何通過(guò)java代碼調(diào)用js代碼:
在java中通過(guò)如下方式來(lái)實(shí)現(xiàn):
復(fù)制代碼 代碼如下:
String resUrl="aa";
String resId="bb";
String callBack="javascript:callBackServive('"+resUrl+"','"+resId+"')";//注意傳遞兩個(gè)以上參數(shù)的方法
this.appView.loadUrl(callBack);
callBackServive就是在js中實(shí)現(xiàn)的方法.
您可能感興趣的文章:
- Java/Js下使用正則表達(dá)式匹配嵌套Html標(biāo)簽
- JS的encodeURI和java的URLDecoder.decode使用介紹
- jsp中調(diào)用java代碼小結(jié)
- java使用Jsoup連接網(wǎng)站超時(shí)的解決方法
- js前臺(tái)分頁(yè)顯示后端JAVA數(shù)據(jù)響應(yīng)
- Java中使用開(kāi)源庫(kù)JSoup解析HTML文件實(shí)例
- java解析任意層數(shù)json字符串的方法
- 基于NodeJS的前后端分離的思考與實(shí)踐(六)Nginx + Node.js + Java 的軟件棧部署實(shí)踐
- 在JavaScript中調(diào)用Java類(lèi)和接口的方法
相關(guān)文章
Spring RedirectAttributes參數(shù)跳轉(zhuǎn)代碼實(shí)例
這篇文章主要介紹了Spring RedirectAttributes參數(shù)跳轉(zhuǎn)代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-04-04
java正則表達(dá)式提取數(shù)字的方法實(shí)例
這篇文章主要介紹了java正則表達(dá)式提取數(shù)字的方法,還有去除字符串?dāng)?shù)字的方法,大家參考使用吧2013-12-12
IDEA?Error:java:無(wú)效的源發(fā)行版:13的解決過(guò)程
之前用idea運(yùn)行時(shí),也會(huì)出現(xiàn)這種情況,后面通過(guò)網(wǎng)上的資料解決了這個(gè)問(wèn)題,下面這篇文章主要給大家介紹了關(guān)于IDEA?Error:java:無(wú)效的源發(fā)行版:13的解決過(guò)程,需要的朋友可以參考下2023-01-01
Spring?invokeBeanFactoryPostProcessors方法刨析源碼
invokeBeanFactoryPostProcessors該方法會(huì)實(shí)例化所有BeanDefinitionRegistryPostProcessor和BeanFactoryPostProcessor的實(shí)例并且執(zhí)行postProcessBeanFactory與postProcessBeanDefinitionRegistry方法2023-01-01
Java中RabbitMQ消息隊(duì)列的交換機(jī)詳解
這篇文章主要介紹了Java中的RabbitMQ交換機(jī)詳解,消息隊(duì)列是指利用高效可靠的消息傳遞機(jī)制進(jìn)行與平臺(tái)無(wú)關(guān)的數(shù)據(jù)交流,并基于數(shù)據(jù)通信來(lái)進(jìn)行分布式系統(tǒng)的集成,是在消息的傳輸過(guò)程中保存消息的容器,需要的朋友可以參考下2023-07-07
關(guān)于HashMap 并發(fā)時(shí)會(huì)引起死循環(huán)的問(wèn)題解析
JDK1.8之前采用頭插,即在鏈表結(jié)構(gòu)上每次都把數(shù)據(jù)放在鏈表頭部。JDK1.8采用尾插方法,很多朋友在學(xué)習(xí)Java并發(fā)容器和框架時(shí),看到為什么要使用ConcurrentHashMap時(shí)不知道究其原因,今天小編通過(guò)本文給大家介紹下HashMap 并發(fā)死循環(huán)問(wèn)題,一起看看吧2021-05-05
Java多線(xiàn)程實(shí)現(xiàn)同時(shí)輸出
這篇文章主要介紹了Java多線(xiàn)程實(shí)現(xiàn)同時(shí)打印的相關(guān)資料,需要的朋友可以參考下2016-03-03

