WebView和JavaScript如何实现相互调用?

WebView可以同JavaScript互相调用,因此我们可以用HTML和JavaScript来辅助编写Android应用。

示例:使用javaScript获取Android程序中的对象数据

class PersonalData {

String id;

String name;

String age;

String blog;

// …

}

在Activity.onCreate方法中

mPersonalData = new PersonData();

mWebView = (WebView) findViewById(R.id.webview01);

mWebView.getSettings().setJavaScriptEnabled(true);

mWebView.addJavaScriptInterface(mContext, “PersonalData”);

mWebView.loadUrl(url);

// 定义在JavaScript中将要调用的方法

public PersonalData getPersonalData() {

return mPersonalData;

}

// 在JavaScript中调用getPersonalData()

window.onload = function() {

var personaldata = window.PersonalData.getPersonalData();

// …

}

// 在android代码中也可以调用javaScript方法

mWebView.loadUrl(“javascript:方法名()”);

// WebView从APK中加载Assets目录中的内容

mWebView.loadUrl(“file:///android_asset/personaldata.html”);

其中file:///android_asset/表示访问assets中的数据。