混合开发概述
微信,微博以及现在市面上大量的软件使用内嵌了H5页面;有些外包公司,为了节约成本,采用Android内嵌H5模式开发,便于在iOS上直接复用页面, 从而提高开发效率。
实现的原理:
Android和H5互调案例:
一.java调用js
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.addJavascriptInte**ce(new AndroidAndJSInte**ce(),"Android");
//加载本地资源
webView.loadUrl("file:///android_asset/JavaAndJavaScriptCall.html");
//显示页面
// setContentView(webView);
}
Java调用js原理就是Java代码调用了Js里面的函数。
核心Java代码段:
//登录功能里,java代码调用了js里面的JavaCallJs函数实现将name传到JS中,这样JS页面可以显示该用户名了。
private void login(String name) {
webView.loadUrl("javascript:javaCallJs(" "'" name "'" ")");
setContentView(webView);
}
核心js代码段:
//上面Java核心代码执行将调用下面JS代码
|