android与h5之间的相互调用

本文介绍了混合开发的基础知识,包括如何使用WebView加载网络页面和本地资源,以及Java与JavaScript之间的交互方式。通过具体案例展示了初始化WebView、加载不同类型的资源、从Java调用JavaScript以及从JavaScript调用Android方法的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  大家都知道原生态开发,也就是纯安卓开发,其实一个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、付费专栏及课程。

余额充值