写在前面,仅记录学习笔记
初始化
private WebView webView;
private void initWebView() {
webView = new WebView(this);
WebSettings webSettings = webView.getSettings();
//设置支持javaScript脚步语言
webSettings.setJavaScriptEnabled(true);
//支持双击-前提是页面要支持才显示
// webSettings.setUseWideViewPort(true);
//支持缩放按钮-前提是页面要支持才显示
webSettings.setBuiltInZoomControls(true);
//设置客户端-不跳转到默认浏览器中
webView.setWebViewClient(new WebViewClient());
//设置支持js调用java
webView.addJavascriptInterface(new AndroidAndJSInterface(),"Android");
//加载网络资源
// webView.loadUrl("http://10.0.2.2:8080/assets/JavaAndJavaScriptCall.html");
webView.loadUrl("file:///android_asset/JavaAndJavaScriptCall.html");
//显示页面
// setContentView(webView);
}
/**
* js可以调用该类的方法
*/
class AndroidAndJSInterface{
@JavascriptInterface
public void showToast(){
Toast.makeText(JavaAndJSActivity.this, "我被js调用了", Toast.LENGTH_SHORT).show();
}
}
java调用js
function javaCallJs(arg){
document.getElementById("content").innerHTML =
("欢迎:"+arg );
}
webView.loadUrl("javascript:javaCallJs(" + "'" + numebr + "'" + ")");
setContentView(webView);
js调用java
<input type="button" value="点击Android被调用" onclick="window.Android.showToast()" />