Android-WebView篇--将方法提供给HTML来使用

本文介绍了Android中的WebView组件,详细讲解了如何使用WebView浏览网页、进行后退和前进操作,以及如何与HTML 5混合开发,特别是在WebView中启用JavaScript调用功能,并通过addJavascriptInterface方法暴露Android方法给JavaScript。还提到了Hybrid开发模式,允许HTML页面调用Android API,实现了简单的动态交互。

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

PS:一篇短小的webView文章,作为对于之前webView总结的补充。
了解更多android的知识可以看笔者的其他博客哟~

Android–关于webView

零散知识点就用⚡️图标代替吧。

⚡️webView组件本身就是一个浏览器实现,WebView基于Chromium内核实现。

第一节:使用WebView浏览网页的常用方法

常用方法:

⚡️goBack():后退

⚡️goForward():前进

⚡️loadUrl(String url):加载指定URL对应的网页。

⚡️boolean zoomIn():放大网页

⚡️boolean zoomOut():缩小网页


第二节:WebView与HTML 5混合开发

WebView提供了一个配套的WebSettings工具类,用于管理WebView选项设置。

WebView提供了addJavascriptInterface(Object object,String name)方法:用于把object对象暴露成javaScript中的name对象.

⚡️总结在WebView中JavaScript中调用Android方法的步骤:

1.调用WebView关联的WebSetting的setJavaScriptEnabled(true)启用JavaScript调用功能.

2.使用addJavascriptInterface(Object object,String name)方法将object对象暴露给JavaScript脚本

3.在JavaScript脚本中通过刚才暴露的name对象调用Android方法.


白话总结:就是可以让在webView页面可以调用Android的一些方法,比如dialog,Toast…这种

<input type="button" value="调用android方法" onclick="name.showToast('...')">
<!-- 这里面这个name就是暴露出来的那个 -->

名词引入:

我们把这种可使用WebView展示HTML 5页面内容,也可解释,执行JS来实现简单动态交互;反过来JS又可调用原生Android API的功能,称之为----------------------------------Hybird(混合)开发模式


补充:暴露类的代码(取自疯狂android讲义)

写完回头看一下…发现内容太少了,我把代码敲一下吧…

//我在这里写的是Android向向HTML暴露的类就是那个Object object
public class MyObject{
    private Context mContext; //很核心的东西了,m代表私有(给自己看的)
    MyObject(Context c){
        mContext = c;
    }
    
    @JavascriptInterface  //这个注解表示这个方法会暴露给JavaScript脚本调用
    public void showToast(String name){
        Toast.makeText(mContext,"输出内容",Toast.LENGTH_LONG).show();
    }
    
    @JavascriptInterface
    public void showList(){
        //显示一个普通的列表对话框
        new AlertDialog.Builder(mContext).setTitle("标题名称").setItems(new String[]{"列1","列2"},null).setPositiveButton("确定",null).create().show();
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值