Android高手进阶教程(二十)之---Android与JavaScript方法相互调用!

Android WebView 的 addJavascriptInterface 探究 Java和JS交互的方式有多种,这里探讨的方式是通过以下方式进行的交互。这篇文章是想弄明白 JavaScript 和 Java是如何实现这种方式互调的,就从源码角度开始分析。 阅读详情

在Android中通过WebView控件,可以实现要加载的页面与Android方法相互调用,我们要实现WebView中的addJavascriptInterface方法,这样html才能调用android方法,在这里我个人觉得有点和DWR相似。

为了让大家容易理解,我写了一个简单的Demo,具体步骤如下:

第一步:新建一个Android工程,命名为WebViewDemo(这里我在assets里定义了一个html页面)。

第二步:修改main.xml布局文件,增加了一个WebView控件还有Button控件,代码如下:

第三步:在assets目录下新建一个demo.html文件,代码如下(这里不知道为何多了mce:这几个东东,<script></script>这样是对的):

 

第四步:修改主核心程序WebViewDemo.java,代码如下:

第五步:运行上述工程,查看效果。

 

  

                        首界面                                           点击按钮时,html内容改变

   点击html的startGoogleMap启动地图应用

ANSYS Maxwell:从RMxprt到3D轴向磁通电机的无缝建模指南 本文详细介绍了如何利用ANSYS RMxprt作为高效起点,快速构建3D轴向磁通电机的有限元分析模型。通过RMxprt内置模板输入关键参数并完成磁路法计算后,可一键生成包含几何、材料、绕组及边界条件的即用型Maxwell 3D模型,极大简化了复杂三维结构的建模流程,使工程师能专注于性能优化与仿真分析。 阅读详情

相关推荐

2022年电赛E题声源定位跟踪系统

电赛声源定位

qq_53357019的博客 2万+

Android:如何使用addJavaScriptInterface

说明 本文将和大家分享Android中的 addJavaScriptInterface方式。这个类主要能帮助调用你的JavaScript函数中的任意活动方式。其中有如下一些需要注意的地方: addJavaScriptInterface方式帮助我们从一个网页传递值到Android XML视图(反之亦然)。 你可以从网页调用你的活动类方式(反之亦然)。 这是一个非常有用的功能,而当WebV...

weixin_33763244的博客 545

VUE3如何使得大屏自适应的几种方法?

16:9。

weixin_42711805的博客 1万+

在 Android WebView 中实现和 JavaScript 的互操作

有两个参数。其中 object 即需要提供给 js 调用的对象。在 Android 4.1.2 (API 16) 以下时,js 可以调用该对象的所有公开方法;在 Android 4.2 (API 17)以上时, js 只能调用添加了注解的公开方法。之所以会有这样的改动,是因为在 API 16 之前可以调用所有公开方法具有安全隐患,例如可以利用 jave 的反射机制实现任意命令的执行。interfaceName 即 js 调用时的接口名称。我们可以通过 webview 的。

sinat_17133389的博客 2408

无刷电机FOC控制入门:磁场、洛伦兹力与坐标转换详解

本文深入解析无刷电机FOC(磁场定向控制)的核心原理,从电磁学基础的磁场与洛伦兹力出发,详细阐述了如何通过Clarke变换、Park变换等坐标转换技术,将三相交流解耦为直流量进行控制,最终利用SVPWM技术实现平滑、高效的电机驱动。文章旨在帮助开发者理解FOC的物理本质与数学框架,为机器人、无人机等高性能应用奠定基础。

weixin_29306011的博客 267

手把手教你在Keil/IAR中移植SEGGER_RTT组件(避坑指南+性能对比)

本文详细介绍了在Keil/IAR开发环境中移植SEGGER RTT调试组件的完整流程与优化技巧。通过对比传统串口调试,SEGGER RTT凭借零硬件占用、高速传输和双向交互等优势,显著提升嵌入式开发效率。文章包含配置步骤、性能调优方案及常见问题解决方案,是嵌入式开发者必备的实用指南。

y7z8a的博客 243

Android:是时候掌握WebView与Js的交互技术了

为什么很多程序员做不了架构师?1、良好健康的职业规划很重要,但大多数人都忽略了2、学习的习惯很重要,持之以恒才是正解。3、编程思维没能提升一个台阶,局限在了编码,业务,没考虑过选型、扩展4、身边没有好的架构师引导、培养。所处的圈子对程序员的成长影响巨大。金九银十面试季,跳槽季,整理面试题已经成了我多年的习惯!在这里我和身边一些朋友特意整理了一份快速进阶为Android高级工程师的系统且全面的学习资料。涵盖了Android初级——Android高级架构师进阶必备的一些学习技能。

2401_84166278的博客 1013

Allan方差读图分析IMU误差指标

Allan方差标定IMU参数实测分析

weixin_44927558的博客 3566

android addjavascriptinterface 漏洞,解决android4.2以下addJavaScriptInterface不安全问题

问题描述android js和原生互相调用会产生安全问题,WebView addJavaScriptInterface 远程代码执行漏洞概述Android 系统通过WebView.addJavascriptInterface 方法注册可供JavaScript 调用的Java 对象,以用于增强JavaScript 的功能。但是系统并没有对注册Java 类的方法调用的限制。导致攻击者可以利用反射机制调...

weixin_32534669的博客 1012

告别Keil/IAR:在VSCode中用CMake+Clangd打造丝滑的STM32开发环境(附完整配置)

本文详细介绍了如何在VSCode中使用CMake和Clangd搭建高效的STM32开发环境,替代传统的Keil/IAR工具。通过完整的配置指南和快速开发技巧,帮助开发者实现轻量级、高度可定制的现代化开发流程,显著提升STM32项目的开发效率。

weixin_26843605的博客 165

基于Python的彩票数据爬虫:数据抓取与趋势分析

爬虫是一种用于从互联网上自动抓取信息的程序。在抓取彩票数据时,我们首先需要确定目标网站并获取其网页内容,接着提取彩票的开奖结果信息并保存。彩票数据通常是以HTML表格或列表的形式展示,爬虫可以利用Python的requests和来抓取静态网页,或使用Selenium来抓取动态页面。在本篇博客中,我们深入探讨了如何使用Python编写彩票数据爬虫,抓取并分析彩票开奖结果。通过Python爬虫技术,结合数据分析与可视化工具,我们能够全面分析历史开奖数据,揭示彩票号码的频率分布、趋势变化以及未来的可能走势。

2201_76125261的博客 1939

JS中调android的方法

特别注意的是在onclick事件的时候,window.android.finishClose()如上:一定要在方法名前面加上window.android.@OverrideinitView();不要忘记加权限哦!!!WebViewSettingUtil对WebView进行简单的包裹(这里是我做支付的时候用到的demo所以写的多了一点,正常是没有这么多的!!!= null) {//不使用缓存@Override。

2401_84148974的博客 938

实战案例—encrypt靶场(AES固定key篇)

AES是一种对称密钥加密方法,意味着加密和解密时使用相同的密钥。AES加密存在三种形式:AES-128、AES-192和AES-256,它们分别对应于三种不同的密钥长度——128位(即16字节)、192位(即24字节)和256位(即32字节)。通常情况下,密钥的长度越长,提供的安全性就越高,但相应地,加解密过程所需的时间也会增加。默认情况下,采用的是AES-128,其提供的安全性对于大多数应用来说已经足够充分。

zhouzhou_98的博客 498

vue中js与Android,iOS互相调用,以及传参

最近做的一个项目,基本上是抛弃了原生,整个app就是一个webview,web不能实现的功能,就需要和app进行交互了。 需求来了,接下来要做的就是实现了,然后随手就把实现代码写出来了: Round 1 如图所示: 这里边有一个坑 点击取按钮后,会调用getValueForKey方法,然后js会调用app定义好的getValueForKey方法,然后app的webview再调用js中定义的ge...

restver的博客 7067

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

上一篇: Android高手进阶教程(十九)之---Android开发中,使用线程应该注意的问题!
下一篇: Android中的资源与国际化!
Android_Tutor
博客等级 码龄17年 1万+粉丝 122原创
评论 29
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值