Kotlin语言 Android与JS交互

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

先来说说什么是JS交互:
说的俗一点就是通过我们项目中的控件来调用HTML里的JS代码,也可以通过JS来调用项目中的代码。
Android与JS之间的桥梁就是WebView了,我们是通过WebView来实现他们的相互调用。
Android调用Js代码:
Android调用Js代码有两种方式
1)通过WebView的loadUrl ()调用
2)通过WebView的evaluateJavascript ()调用
Js调用Android代码:
Js调用Android代码有三种方式
1)通过WebView的addJavascriptInterface ()进行对象映射
2)通过WebViewClient的shouldOverrideUrlLoading()来拦截Url调用代

3)通过WebChromeClient 的onJsAlert()、onJsConfirm()、
onJsPrompt()拦截JS中的对话框alert() / confirm() / prompt()


用Kotlin实现Android与JS交互


一、Android通过 loadUrl ()调用JS代码

1.把需要调用的JS代码以.Html的格式放到src/main/assets文件夹中,没有的新建一个

<html>
  <head>
    <meta charset="utf-8" />
    <title>Android与Js交互</title>
  </head>
<body>
           //JS的代码
    <script type="text/javascript">
          //无参方法
        function clickJS(){
            document.getElementById("zi").innerHTML = "Android调用了JS代码"
        }
         //有参方法
        function clickJSTwo(x){
            document.getElementById("zi").innerHTML = x
        }
    //与Android交互的方法 
        function clickAndroid(){
            var result = prompt("js://webview?arg1=111&arg2=222")
            alert("demo" + result)
        }
    </script>

    <button type="button" onclick="clickAndroid()">我是一个按钮</button>

    <p id="zi">在这里改变代码</p>

     </body>
</html>

2.在Android中用WebView调用Js代码
//activity_main.xml布局文件

深入解析 Android 的 evaluateJavascript Android 应用开发中,WebView是一个常用组件,用于嵌入 Web 页面。然而,除了简单地加载和展示网页内容,应用常常需要 Web 页面中的 JavaScript 进行交互。这时,Android 提供了 evaluateJavascript方法,允许开发者在WebView中执行 JavaScript 代码,并通过回调获取执行结果。在这篇文章中,我们将详细介绍 webView.evaluateJavascript方法的使用场景及其优势,并探讨之配合使用的 ValueCallback。 阅读详情

相关推荐

androidjs交互

          最近比较忙,同时也一直都在做关于androidjs分享的准备,今天这篇文章主要是为了记录这段时间,对androidjs交互做的研究。        1:讲讲为什么要有jsandroid之间的交互 随着科技的快速发展,很多公司都会对移动产品进行快速的迭代开发,降低开发的成本,来适应市场的需求。 有人说js会替代android原生的应用,因为js的跨平台,前端只要通...

yuanbing1988的博客 6934

AndroidJS交互详解

先来说说什么是JS交互:说的俗一点就是通过我们项目中的控件来调用HTML里的JS代码,也可以通过JS来调用项目中的代码。

u013773608的博客 6287

Android JS相互调用:详解JavaScriptAndroid互操作

在移动应用开发中,Android平台提供了JavaScript交互的强大功能,这为开发人员在Web视图中嵌入原生Android代码或在Android应用程序中嵌入JavaScript代码提供了便利。我们将了解如何在Android应用程序中调用JavaScript,并展示如何在JavaScript中调用原生Android代码。无论是在Web视图中嵌入原生Android代码,还是在Android应用程序中嵌入JavaScript代码,都能为用户提供更加丰富和交互性的体验。的Java类,并在其中定义了一个。

CodeWhizZ的博客 701

Android 网页交互详解和mWebview.evaluateJavascript带参数注意事项

android 4.4以下跟H5交互需要调用webview的loadUrl(javascript:方法名(参数))来实现调用js方法。如果需要网页获取返回值还需要网页调用安卓 @JavaScriptInterface 注解的方法才可以。 Android 4.4以上调用webview.evaluateJavascript(javascript:方法名(参数),new ValueCallback{...

u011339364的专栏 2万+

由于创建一个完整的app代码通常涉及多个文件和复杂的结构,这里我将为你提供几种不同编程语言下app的简化代码示例,这些示例将只包含核心逻辑和界面元素(如果适用)。

由于创建一个完整的app代码通常涉及多个文件和复杂的结构,这里我将为你提供几种不同编程语言下app的简化代码示例,这些示例将只包含核心逻辑和界面元素(如果适用)。这里只展示React的组件部分(前端),因为完整的Web应用还包括服务器端的Node.js代码和构建工具等。3. JavaScript (使用React和Node.js创建Web应用)4. Kotlin (用于Android应用的简化版)activity_main.xml (对应的布局文件)5. Swift (用于iOS应用的简化版)

MirandaWebb的博客 515

UNIAPP前端硬核技能:UTS跨端开发实战

UTS 是一种强类型的、跨平台的语言。它的语法和 TypeScript 几乎一模一样。在 Android 端,它会被直接编译成Kotlin。在 iOS 端,它会被直接编译成Swift。在 H5/小程序端,它会被编译成JavaScript。这意味着,你只需要写一遍类 TS 代码,就能直接调用 Android 和 iOS 的系统级 API,没有任何 JS 桥接的性能损耗!UTS 是前端工程师扩展边界的利器,它让你不需要配置复杂的 Android Studio 或 Xcode 环境,就能写原生代码。

mr_lihuijie的博客 750

kotlin入门教程指南(2023最新)

kotlin入门教程指南

Android_XG的博客 1978

创建一个完整的App涉及到前端界面设计、后端逻辑处理以及可能的数据库交互。由于不同平台(如iOS、Android、Web)和编程语言(如Swift、Kotlin、Java、JavaScript等)的差

步骤:安装Node.js和npm。打开终端,创建一个新的项目文件夹并进入:bashcd my-app使用Create React App初始化项目:bash创建一个简单的React组件(例如,在src/App.js):jsxreturn (

Josephineds的博客 877

由于生成一个完整的App代码涉及多个方面(如前端、后端、数据库、UI设计等),并且不同的App平台(如iOS、Android、Web等)需要不同的技术和工具,这里我将为你提供几个简单的示例,分别用几种

请注意,这些示例只是为了展示如何使用不同的编程语言开始一个简单的App的某个部分。由于生成一个完整的App代码涉及多个方面(如前端、后端、数据库、UI设计等),并且不同的App平台(如iOS、Android、Web等)需要不同的技术和工具,这里我将为你提供几个简单的示例,分别用几种流行的编程语言来展示如何开始一个App的某些部分。Kotlin后端(Java后端类似,但使用Kotlin语言和相应的框架)。Kotlin后端(Java后端类似,但使用Kotlin语言和相应的框架)。

SherryMacadam的博客 795

OSChina 周五乱弹 ——程序员竟然对服务员做了这样的事情!!!

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34166472的博客 247

ECC × OpenCode:一份可执行的工程纪律指南 —— 拆解 `.opencode/instructions/INSTRUCTIONS.md` 的安全、TDD Agent 编排实践

> 技术文章导读:`INSTRUCTIONS.md` 是 ECC(Agent Harness Performance Optimization System)面向 OpenCode 使用场景整合的核心规则文档。本文以该文档为骨架,逐节解读其在提交前安全审查、不可变编码风格、80%+ 覆盖率 TDD、Git 提交 PR 工作流、模型选型上下文管理等方面的具体约定,并结合仓库中 [.opencod

gitblog_01200的博客 884

由于创建一个完整的App涉及多个层面(如前端、后端、数据库、用户界面等),并且每种语言通常专注于特定的开发任务,因此在这里我将给出几种常见编程语言中用于创建App的简单示例或框架。

请注意,这些示例仅展示了如何创建一个简单的用户界面和交互,而并没有涵盖构建完整App所需的所有步骤和组件。由于创建一个完整的App涉及多个层面(如前端、后端、数据库、用户界面等),并且每种语言通常专注于特定的开发任务,因此在这里我将给出几种常见编程语言中用于创建App的简单示例或框架。请注意,这些示例仅展示了如何创建一个简单的用户界面和交互,而并没有涵盖构建完整App所需的所有步骤和组件。Kotlin 是一种在 Android 开发中广泛使用的语言

ElvisUlysses的博客 970

生成一个完整的app代码涉及多个层面,包括前端、后端和可能的数据库交互。由于篇幅限制,我不能为每个语言都提供完整的app代码,但我可以为你提供一些示例代码片段或框架来展示如何在不同语言中开始】

虽然这不是直接的app代码,但Mongoose是一个在Node.js中常用的MongoDB对象模型工具。虽然这不是直接的app代码,但Mongoose是一个在Node.js中常用的MongoDB对象模型工具。完整的app开发涉及更多的细节,如路由、状态管理、数据存储、API交互、UI/UX设计等。完整的app开发涉及更多的细节,如路由、状态管理、数据存储、API交互、UI/UX设计等。Kotlin/Java (Android): 用于Android app开发的官方语言

VicCecillia的博客 570

由于生成一个完整的应用程序(app)的代码涉及多个层面(如用户界面、后端逻辑、数据存储等),并且不同平台和框架有其特定的要求和语言,以下我将为你提供几个不同语言和框架的示例代码片段,这些代码片段将展示

请注意,这些代码只是简单的起点,用于展示如何在一个特定框架中设置基本的UI和交互。要构建完整的应用程序,你还需要考虑其他许多因素,如导航、状态管理、数据持久化、API调用等。由于生成一个完整的应用程序(app)的代码涉及多个层面(如用户界面、后端逻辑、数据存储等),并且不同平台和框架有其特定的要求和语言,以下我将为你提供几个不同语言和框架的示例代码片段,这些代码片段将展示如何开始构建一个简单的应用程序。要构建完整的应用程序,你还需要考虑其他许多因素,如导航、状态管理、数据持久化、API调用等。

VenusChristian的博客 949

由于创建一个完整的APP代码涉及到很多步骤和组件,这里我会为你展示如何用几种常见的编程语言或框架来“开始”一个简单的APP示例。请注意,这些示例仅用于教学目的,并不能直接编译为一个完整的APP。

以上示例都是基本的“计数器”APP,用于展示如何在不同的编程语言和框架中设置UI和基本的交互逻辑。要构建一个完整的APP,你还需要考虑很多其他因素,如数据持久化、网络通信、用户认证等。由于创建一个完整的APP代码涉及到很多步骤和组件,这里我会为你展示如何用几种常见的编程语言或框架来“开始”一个简单的APP示例。以上示例都是基本的“计数器”APP,用于展示如何在不同的编程语言和框架中设置UI和基本的交互逻辑。要构建一个完整的APP,你还需要考虑很多其他因素,如数据持久化、网络通信、用户认证等。

AmosKelvin的博客 392

生成一个完整的App代码涉及多个步骤和组件,并且具体实现会根据你选择的平台(如iOS、Android、Web等)和编程语言而有所不同。不过,我可以为你提供用几种不同编程语言编写的简单示例或框架代码。

这些示例代码只是每个平台和应用开发框架的起点。要创建一个完整的App,你还需要设计用户界面、处理用户交互、实现业务逻辑、测试、打包和发布等步骤。生成一个完整的App代码涉及多个步骤和组件,并且具体实现会根据你选择的平台(如iOS、Android、Web等)和编程语言而有所不同。不过,我可以为你提供用几种不同编程语言编写的简单示例或框架代码。这些示例代码只是每个平台和应用开发框架的起点。要创建一个完整的App,你还需要设计用户界面、处理用户交互、实现业务逻辑、测试、打包和发布等步骤。

IngramBush的博客 336

基于Android的医院健康管理平台的设计实现源码文档部署文档代码讲解等

本课题旨在设计并实现一款基于Android平台的医院健康管理平台,解决传统医院健康管理中信息分散、医患沟通不便、患者自我健康监测滞后、医护人员管理效率低等痛点,适配医院医护管理患者健康服务的双重需求。系统采用Kotlin语言开发,基于MVVM架构构建,核心涵盖个人健康档案管理、体检报告查询、医患咨询、健康提醒、医护后台管理等功能。平台支持患者绑定个人就诊信息、查询体检报告及就诊记录,设置用药、体检等健康提醒,在线向医护人员咨询健康问题;医护人员可通过平台查看患者健康数据、回复咨询、更新患者健康档案、推送健

全网计算机/大数据辅导(自媒体)道祖第一人、全网粉丝100W+,专注于Java/python/大数据/微信小程序项目实战开发,以及产品测评宣传、工具推广等合作 412
上一篇: 安卓自定义动画根据控件Y轴旋转动画 仿红包
下一篇: Android中的热修复原理(通俗易懂)
靠山的男人
博客等级 码龄9年 5粉丝 6原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值