【Android进阶】Android js 与 Android 互调方法

Android OpenCV(四十):QR二维码检测(1) / 请求相机权限if (it) {} else {Toast.makeText(applicationContext, “无相机权限”, Toast.LENGTH_SHORT).show()// 请求外部存储权限if (it) {} else {Toast.makeText(applicationContext, “无存储权限”, Toast.LENGTH_SHORT).show()if (it) { 阅读详情

在这里插入图片描述

一、创建一个HTML网址进行测试

webView.html
1.<html>
     <head>
         <title>
         </title>
     </head>
    <body>
<input type="button" value="Say hello" onClick="showAndroidToast('Web传递参数到Android')" />

<script type="text/javascript">
    function test(card_mo ,price){
    Android.showtest(card_mo+price);
    }
    function showAndroidToast(toast) {
        Android.showToast(toast);
    }
</script>

   </body>
</html>

2.创建一个JavaScriptInterface 接口类

package com.ruidde.csndresourcedemo;

import android.content.Context;
import android.webkit.JavascriptInterface;
import android.widget.Toast;

/**
 * Created by Administrator on 2017/1/5.
 */

public class JavaScriptInterface {
    Context mContext;

    /** Instantiate the interface and set the context */
    JavaScriptInterface(Context c) {
        mContext = c;
    }
    @JavascriptInterface
    /** Show a toast from the web page */
    public void showToast(String toast) {
        Toast.makeText(mContext, toast+"0000000", Toast.LENGTH_SHORT).show();
    }
    @JavascriptInterface
    /** Show a toast from the web page */
    public void showtest(String toast) {
        Toast.makeText(mContext, toast, Toast.LENGTH_SHORT).show();
    }
}

3.在Activity中使用

package com.ruidde.csndresourcedemo;

import android.os.Bundle;
import android.webkit.WebChromeClient;
import android.webkit.WebSettings;
import android.webkit.WebView;

import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {
    private String card_mo ,price ;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        card_mo = "1234565";
        price = "32.00";

        WebView myWebView = (WebView) findViewById(R.id.webview);
        //设置js可用
        WebSettings webSettings = myWebView.getSettings();
        webSettings.setJavaScriptEnabled(true);
        //注解自定义对象 js用自定义的对象如:Android 来调用Android中方法
        myWebView.addJavascriptInterface(new JavaScriptInterface(this), "Android");
        //网址本地自己写的
        myWebView.loadUrl("file:///android_asset/webView.html");
        //webView网页加载进度
        myWebView.setWebChromeClient(new WebChromeClient()
        {
            @Override
            public void onProgressChanged(WebView view, int newProgress) {
                super.onProgressChanged(view, newProgress);
                if (newProgress == 100){ //网页加载完成
                    /**
                     *   //这是Android调用js的方法  如:test方法在js中要有(可以给js中传递参数)
                     *   方法在web加载完成后  会调用下面方法来给js传递参数
                     * */
                    view.loadUrl("javascript:test('" + card_mo+ "','" + price+ "')"); //aa是js的函数test()的参数
                }
            }
        }
        );
    }
  }

更多Android进阶知识考研扫码免费领取!

《Android八大模块进阶资料》

这里给大家分享一套由阿里高级架构师编写的《Android八大模块进阶资料》,帮助大家将杂乱、零散、碎片化的知识进行体系化的整理,让大家系统而高效地掌握Android开发的各个知识点。

内容简介:《架构师筑基必备技能》、《Android百大框架源码解析》、《Android性能优化实战解析》、《高级kotlin强化实战》、《Android高级UI开源框架进阶解密》、《NDK模块开发》、《Flutter技术进阶》、《微信小程序开发》。附全套视频资料,包含面试合集、源码合集、开源框架合集。

由于文章内容比较多,篇幅有限,资料已经被整理成了PDF文档,有需要《Android八大模块进阶资料》完整文档的可以加微信 即可免费领取!

目录

img

一、架构师筑基必备技能

1.深入理解Java泛型 2.注解深入浅出 3.并发编程 4.数据传输与序列化 5.Java虚拟机原理 6.高效IO ……img

二、Android百大框架源码解析

1.Retrofit 2.0源码解析 2.Okhttp3源码解析 3.ButterKnife源码解析 4.MPAndroidChart 源码解析 5.Glide源码解析 6.Leakcanary 源码解析 7.Universal-lmage-Loader源码解析 8.EventBus 3.0源码解析 9.zxing源码分析 10.Picasso源码解析 11.LottieAndroid使用详解及源码解析 12.Fresco 源码分析——图片加载流程img

三、Android性能优化实战解析

1.腾讯Bugly:对字符串匹配算法的一点理解

2.爱奇艺:安卓APP崩溃捕获方案——xCrash

3.字节跳动:深入理解Gradle框架之一:Plugin, Extension, buildSrc

4.百度APP技术:Android H5首屏优化实践

5.支付宝客户端架构解析:Android 客户端启动速度优化之「垃圾回收」

6.携程:从智行 Android 项目看组件化架构实践

7.网易新闻构建优化:如何让你的构建速度“势如闪电”?

…img

四、高级kotlin强化实战

Java与javascript互调 最近公司项目app为了加快开发效率和图文排版更加合理,部分功能模块采用H5开发,以前其他项目也用过这个混合开发方式,利用Webview加载网页内容。为了方便以后记录项目中所遇到bug进行相关记录,所以对相关内容进行简单使用描述,以便后面项目中遇到相关bug,进行后续追加。 本次主要写的是Java与javascrip方法的互调。(1).H5网页js调用Native方法 (2).Native代码... 阅读详情

相关推荐

Android与JavaScript互调方法:详细教程与示例代码

通过在Android应用中嵌入WebView,并与JavaScript进行交互,可以实现丰富的功能和动态交互体验。本文将详细介绍如何在Android应用中实现Android与JavaScript的方法互相调用,并提供相应的示例代码。通过以上步骤,你可以在Android应用中实现Android与JavaScript的方法互相调用。在JavaScript中,可以使用绑定的Java对象名称来调用Android方法。在Java代码中,找到WebView组件的引用,并启用JavaScript支持。

HackSquad的博客 527

JS如何调用Android原生方法

实际上,JSBridge 就像其名称中的Bridge的意义一样,是 Native 和非 Native 之间的桥梁,它的核心是构建 Native 和非 Native 间消息通信的通道,而且这个通信的通道是双向的。1、增加Javascript的接口:把安卓的相关方法的接口赋值到一个特殊的js对象中,继而赋值给window对象中,比如下面代码块 项目中的PosObj。3、js调用Android方法()//将handleAndroid方法放到需要调用的地方。

wangbaobao512的博客 7855

Android JS相互调用:详解JavaScript与Android互操作

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

CodeWhizZ的博客 706

APP开发_Android 与 js 互相调用

Android 与 js 互相调用

突破编程 3530

实现Android与Web端代码互调的实用指南

本文还有配套的精品资源,点击获取 简介:在Android开发中,嵌入Web内容并实现Android原生Java代码与HTML中JavaScript的互调是一种常见需求。本教程详细介绍了如何通过 WebView 组件以及 addJavascriptInterface 和 loadUrl 方法,在Android与Web端之间进行函数调用...

weixin_42509720的博客 809

vos如何对接okcc(保姆级教程)

1.添加账户 点击 系统->账户管理 [图片] 2.创建费率 系统->费率管理 点击添加

qq_46333281的博客 3453

Kotlin实现Android与js的互调,js调用安卓方法获得数据然后传回js,做逻辑操作

最近在研究kotlin,今天来整一下kotlin实现安卓和js的互调。大概的方法和java差不多。有一些小地方有差别,这里写这篇博客记录一下,有需要的朋友可以看下。在后面我也会附上源码。 Android和js的交互主要分为三种:1,安卓调用js的方法。2,js调用安卓的方法。3,回调,即js调用安卓的方法获得数据,然后数据回传给js,js做业务处理。...

流星魂小七的博客 1739

B站李沐讲论文笔记AlexNet

B站李沐讲论文笔记AlexNet

夏知识不进脑子薇的博客 789

Android中webview与JS交互、互调方法

对于试水的功能,一般公司都会采用H5的方式来开发,可以用很少的资源与很短的项目工期来完成。 但许多情况下,H5页面会需要一些原生持有的一些如用户信息之类的数据,一些交互也需要调用原生的,如toast之类要保持同一个手机风格一致的交互行为。这个时候就需要能够让JS主动调用原生的方法来进行操作或者获取数据。或者是原生调用JS的方法在H5加载的时候传递一些参数。对于原生调用JS的方法我们需要实现一个We

gengqiquan的博客 1万+

【Python&RS】哨兵2号(Sentinel2)轨道条带说明+图幅统计(表格+矢量)

今天给大家带来哨兵2号的图幅编号介绍以及全国省、市所需图幅数的统计。网上教程极少,而且结果也不公开。因为每次下载的时候都不知道需要几幅,所以研究后给大家分享一下。

Remote Sensing迷途小书童 1679

华为2022数字芯片笔试题

单选 1、ASIC开发流程中,如下环节的先后顺序是? A. RTL-> Synthesis->P&R B. Synthesis->P&R->RTL C. Synthesis->RTL->P&R D.RTL->P&R->Synthesis 2、o10换算成十进制是多少? A. 8 B.16 C.10 D.2 3、reg [7:0] mem [1:256];initial $readmemh("me..

weixin_44072819的博客 1万+

关于js与android方法互调的问题

在android平台上用WebView打开一个网页,进行javascript和android native方法的互调以及传参,网上这方面的资料很少,经过调试,将我的成果分享出来: 首先,在android开发平台上先定义一个WebView并设置相应的属性: mWebView.setWebChromeClient(new WebChromeClient());// 设置此属性可让webview支

Checkit的博客 903

基于PINN的一个简单的求解偏微分方程实例

本人是做化工模拟的一名学生,最近在学习PINN(Physics-Informed Neural Networks,物理信息神经网络)对管道动力学进行建模研究,PINN由于其对机理与数据的良好兼顾性非常热门,本文是作者对PINN入门研究过程的一个练手小题目,main code也是作者代码是基于pytorch2.6.0写的,发上来供各位参考,欢迎研究管道动力学和PINN的小伙伴一起讨论~

weixin_64491760的博客 1739

Android js 与 Android 互调方法?

一、创建一个HTML网址进行测试 webView.html <html> <head> <title> </title> </head> <body> <input type="button" value="Say hello" onClick="showAndroidToast('Web传递参数到Android')" /> <script ty

yyxhzdm的博客 400

高云FPGA系列教程(7):ARM GPIO外部中断

高云GN1NSR-4C共有16个GPIO,每个GPIO可配置成输入或输出模式,支持中断输入,触发方式可选择:上升沿、下降沿、高电平、低电平触发。中断优先级可通过NVIC进行设置,支持 0-7 级可编程中断优先级。

whik1194的博客 1375

【实战】基于 Inner-IoU 的 YOLOv8 优化指南:显著提升检测精度

Inner-IoU 凭借辅助边框的创新设计,成功解决了传统 IoU 损失在小目标、遮挡场景下的收敛难题,为 YOLOv8 注入了更强的定位能力。从原理剖析到代码集成,本教程已为你铺就了一条“精度提升”的实战路径。现在,不妨亲自上手尝试,让你的目标检测模型在各类数据集上都能交出一份“精度优异”的答卷——相信我,当你看到检测框精准贴合目标的那一刻,你会明白这份尝试的价值。

m0_64661770的博客 107

Android与Js互调之传递图片

目录Android与Js互调的方式需求添加addJavascriptInterface注解方法录制成功后调用Js方法返回H5界面注意事项 Android与Js互调的方式 Android与JS通过WebView互相调用方法,实际上是: 1.Android去调用JS的代码 2.JS去调用Android的代码 二者沟通的桥梁是WebView 对于Android调用JS代码的方法有2种: 通过WebView的loadUrl() 通过WebView的evaluateJavascript() 对于JS调用Android

涛的博客 1476

抖音创作者必备工具!免费一键批量下载无水印视频 + 一键提取抖音视频文案

抖音创作者必备工具!免费一键批量下载无水印视频 + 一键提取抖音视频文案

XiaoqiangClub的博客 3361

android webview与js实现互调

android webview与js实现互调 ·序言 随着移动端网络速度的逐步提升,近些年各大主流app基本都通过嵌入浏览器,如聚划算、淘宝、京东等。 ·优缺点 优点是: 1.开发的效率高,省时间,跨平台(android和ios可以用一套),节约开发成本。 2.版本更新方便,只需要替换后台网页内容,避免了每次小改动都要升级app,尤其是app store的审核。 3.测试方便,避免了iso和andorid分开开发导致的部分逻辑和实现细节的差异,节约测试成本。 4.后期维护方便,节约维护成本。

白腿乌鸦的废话 571

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Android与JS互调的简单使用

在项目开发过程中有时会遇到WebView在加载Js页面时,网页上的一些逻辑要通知Android本地进行简单的UI交互或者参数的实时传递,那么就需要我们在Android程序的代码里实现相应的互调配置,以达到互调的效果。下面我直接通过代码实现: JS调用Android方法: 1、先设置Android中的webview class WebViewActivity:Activity(){ over...

尹人入胜的博客 938

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

js与android原生的互调

webview的基本设置引言由于市面上应用基本上本地+HTML进行混合开发。 本地开发就是使用android系统提供的一些组件来实现 而HTML开发就是使用WebView加载的一个网页,进行开发。 因此,我们有必要更加深入了解一下WebView的使用。回顾大家回顾一下: 之前在查看新闻详情界面,我们对WebView有个简单认识。 WebView的基本使用 使用WebView的loadUr

u014469691的专栏 2493

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

Android开发之android与JS互调 | Android与H5互调(附源码)

我们先看下JS代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Js与Android交互</title> </head> <body> <H2>点击获取按钮,弹出输入框内容&...

xiayiye5的博客 633

js与ios、安卓原生方法互调。

调用安卓方法并且传递参数过去:window.WebAppInterface.安卓方法("参数")window.webkit.messageHandlers.方法名.postMessage(vue2版接受ios传递过来的参数,vue3则把生命构子改为自定义函数方法即可。window.安卓暴露的方法=function(安卓传递过来的参数){}window.android.方法名(将该方法放入window对象即可。window.方法名 = 方法名。

weixin_73251435的博客 916
上一篇: 程序员是学历重要还是能力更重要
下一篇: 【致程序员】如果回到校招那一年,你会怎么做
网络安全-XG
博客等级 码龄5年 1万+粉丝 2752原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值