在用HTML5做跨平台應用開發時,嘗嘗會用到java和js方法互調的問題,對初學者而言,可能會有點難,在這裡分享一些自己在實際開發過程中的用法,希望對你有幫助:
首先是js代碼調用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代碼調用java代碼
this.appView.addJavascriptInterface(this, "appDownloader");
}
public void callBackJava(){
}
}
然後就可以在czingIndexHome.html引用的js文件中直接通過window.appDownloader.callBackJava()來直接調用上面的callBackJava()方法了.
然後就是如何通過java代碼調用js代碼:
在java中通過如下方式來實現:
代碼如下:
String resUrl="aa";
String resId="bb";
String callBack="javascript:callBackServive('"+resUrl+"','"+resId+"')";//注意傳遞兩個以上參數的方法
this.appView.loadUrl(callBack);
callBackServive就是在js中實現的方法.