java與js代碼互調(diào)示例代碼
更新時間:2013年07月25日 16:56:12 作者:
用到j(luò)ava和js方法互調(diào),在用HTML5做跨平臺應(yīng)用開發(fā)時經(jīng)常會用到,在這里分享一些自己在實際開發(fā)過程中的用法,希望對初學(xué)者有所幫助
在用HTML5做跨平臺應(yīng)用開發(fā)時,嘗嘗會用到j(luò)ava和js方法互調(diào)的問題,對初學(xué)者而言,可能會有點難,在這里分享一些自己在實際開發(fā)過程中的用法,希望對你有幫助:
首先是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中添加一個java實例,以便js代碼調(diào)用java代碼
this.appView.addJavascriptInterface(this, "appDownloader");
}
public void callBackJava(){
}
}
然后就可以在czingIndexHome.html引用的js文件中直接通過window.appDownloader.callBackJava()來直接調(diào)用上面的callBackJava()方法了.
然后就是如何通過java代碼調(diào)用js代碼:
在java中通過如下方式來實現(xiàn):
String resUrl="aa";
String resId="bb";
String callBack="javascript:callBackServive('"+resUrl+"','"+resId+"')";//注意傳遞兩個以上參數(shù)的方法
this.appView.loadUrl(callBack);
callBackServive就是在js中實現(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中添加一個java實例,以便js代碼調(diào)用java代碼
this.appView.addJavascriptInterface(this, "appDownloader");
}
public void callBackJava(){
}
}
然后就可以在czingIndexHome.html引用的js文件中直接通過window.appDownloader.callBackJava()來直接調(diào)用上面的callBackJava()方法了.
然后就是如何通過java代碼調(diào)用js代碼:
在java中通過如下方式來實現(xiàn):
復(fù)制代碼 代碼如下:
String resUrl="aa";
String resId="bb";
String callBack="javascript:callBackServive('"+resUrl+"','"+resId+"')";//注意傳遞兩個以上參數(shù)的方法
this.appView.loadUrl(callBack);
callBackServive就是在js中實現(xiàn)的方法.
您可能感興趣的文章:
相關(guān)文章
Spring RedirectAttributes參數(shù)跳轉(zhuǎn)代碼實例
這篇文章主要介紹了Spring RedirectAttributes參數(shù)跳轉(zhuǎn)代碼實例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-04-04
IDEA?Error:java:無效的源發(fā)行版:13的解決過程
之前用idea運行時,也會出現(xiàn)這種情況,后面通過網(wǎng)上的資料解決了這個問題,下面這篇文章主要給大家介紹了關(guān)于IDEA?Error:java:無效的源發(fā)行版:13的解決過程,需要的朋友可以參考下2023-01-01
Spring?invokeBeanFactoryPostProcessors方法刨析源碼
invokeBeanFactoryPostProcessors該方法會實例化所有BeanDefinitionRegistryPostProcessor和BeanFactoryPostProcessor的實例并且執(zhí)行postProcessBeanFactory與postProcessBeanDefinitionRegistry方法2023-01-01
關(guān)于HashMap 并發(fā)時會引起死循環(huán)的問題解析
JDK1.8之前采用頭插,即在鏈表結(jié)構(gòu)上每次都把數(shù)據(jù)放在鏈表頭部。JDK1.8采用尾插方法,很多朋友在學(xué)習(xí)Java并發(fā)容器和框架時,看到為什么要使用ConcurrentHashMap時不知道究其原因,今天小編通過本文給大家介紹下HashMap 并發(fā)死循環(huán)問題,一起看看吧2021-05-05

