android与h5之间的相互调用

  大家都知道原生态开发,也就是纯安卓开发,其实一个app还可以与h5 相结合,也就是混合开发,

想必搞android开发的百分之九十多都会知道混合开发,但是我之前做的项目都是原生态开发,不过现在混合开发,也是一个热门。

所以我就在业余时间查看一下混合开发的流程,为以后做混合开发打下一定的基础,希望这篇博客对大家能有多帮助。

有什么不足的地方,还希望大神们多多提点;不多说了,咱们进入主题;


想要做混合开发,肯定离不开webView, 还要对一些html有一些了解,本人之前web端有过一段时间的开发经验,现在在公司做游戏管理后台,对自己也有很多帮助,

针对于webview的知识,我就不再这里过多的叙述了,过客们可以在网上查阅学习一下:

我总结了几种webview与h5之间的调用的案例供大家参考:

一.初始化WebView并且加载网络页面
1.设置支持js脚本语言
  webSettings.setJavaScriptEnabled( true );
2.支持双击 前提是页面要支持彩显示
  webSettings.setUseWideViewPort( true );
3.支持缩放按钮 前提要支持才显示
webSettings.setBuiltInZoomControls( true );
4.设置客户端 不跳转到默认浏览器中
  webView .setWebViewClient( new  WebViewClient());
5,加载网络资源
   webView .loadUrl( "http://atguigu.com/teacher.shtml" );
6.显示页面
setContentView(webView);
二.在工程main目录下创建 assets目录且加载本地资源
webView .loadUrl( "file:/// android_asset /JavaAndJavaScriptCall.html" );
三.java调用js
/**
 * Java 调用 javaScript
 *  @param  numebr
  */
private void  login(String numebr) {
     webView .loadUrl( "javascript:javaCallJs(" + "'" +numebr+ "'" + ")" );
    setContentView( webView );
}
四.js掉android
1.配置js接口
//设置支持js调用java
webView.addJavascripInterface(new AndroidandJSInterface(),"android");

2.实现js接口类
/**
 * js 可以调用该类的方法
 */
class  AndroidAndJSInterface{
          public void  showToast(){
        Toast. makeText (JavaAndJSActivity. this " 我被 js 调用了 " ,  Toast. LENGTH_SHORT ).show();
    }
}
3.解决WebView.addJavascriptInterface接口不起作用得两种方法
(1)针对版本改成16
(2)在js接口类得方法上添加@JavascriptInterface 注解
/**
 * js 可以调用该类的方法
 */
class  AndroidAndJSInterface{
     @JavascriptInterface
     public void  showToast(){
        Toast. makeText (JavaAndJSActivity. this " 我被 js 调用了 " , Toast. LENGTH_SHORT ).show();
    }
}

只是简单的使用,不过很受用。总结的虽然不深刻,但是项目中会用到的,学习还是需要日积月累的,每一天积累一点,就是有收获的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值