也许大家都见过使用javascript做过的各种游戏,特效,有时候回想如果能把这些有些拿到手机上来直接运行那该多爽快. 现在就介绍一种android 直接调用html的方法.
1)在xml里面定义一个WebView通过这个WebView 大家可以用来加载网页.
2)在Activity的onCreate 方法里面对WebView做一些设置 首先是要设置允许运行javascript, mView.getSettings().setJavaScriptEnabled(true);设置一个 WebChromeClient,
在设置一个new WebViewClient() .
3) mView.addJavascriptInterface(new WebAppInterface(this), "Android"); 设置javascript运行接口,以及接口在javascript里面的TAG.
4) load要运行的html.
下面是定义的接口类
public class WebAppInterface {
private Context mContext = null;
public WebAppInterface(Context context){
mContext = context;
}
@JavascriptInterface
public void showToast(String toast) {
Toast.makeText(mContext, toast, Toast.LENGTH_SHORT).show();
}
@JavascriptInterface
public String getButtonName(){
return "Something";
}
}
注意要添加 @JavascriptInterfaceTAG,不然会被作为一个普通函数.而不是一个接口函数.
现在就可以在html里面使用javascript了
<input type="button" value="Say hi" onClick="showAndroidToast('Hello world!')" />
代码下载方式