首页 存档 技术 查看内容

原生Android结合H5混合开发小结

2018-3-30 13:00 |来自: 互联网 504 0

摘要: 混合开发概述 微信,微博以及现在市面上大量的软件使用内嵌了H5页面;有些外包公司,为了节约成本,采用Android内嵌H5模式开发,便于在iOS上直接复用页面, 从而提高开发效率。 实现的原理: 本质是:Java代码和Ja ...

混合开发概述


微信,微博以及现在市面上大量的软件使用内嵌了H5页面;有些外包公司,为了节约成本,采用Android内嵌H5模式开发,便于在iOS上直接复用页面, 从而提高开发效率。

实现的原理:

  • 本质是:Java代码和Javascript调用

  • H5页面,只是Html的扩展,Javascript用来处理页面的逻辑


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代码
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

相关分类

返回顶部