当前位置: 首页 > news >正文

Android Native Code开发学习(三)对java中的对象变量进行操作

Android Native Code开发学习(三)

本教程为native code学习笔记,希望能够帮到有需要的人

我的电脑系统为ubuntu 22.04,当然windows也是可以的,区别不大

对java中的对象变量进行操作

首先我们新建一个java的类

public class ClassForJNI {public int a;public int b;public void add(){System.out.println("a+b is :"+(a+b));return;}
}

我们的目标就是更改里面的a和b,并且调用这个类,就可以看到我们的输出

//查询类名
jclass clz_2 = env->FindClass("com/example/nativecodelearn/ClassForJNI");
//查询构造函数的id
jmethodID jcmid_2 = env->GetMethodID(clz_2, "<init>", "()V");
//创建对象
jobject = env->NewObject(clz_2, jcmid_2);
jfieldID fid_a =env->GetFieldID(clz_2,"a","I");
jint num_a =env->GetIntField(jobject,fid_a);
env->SetIntField(jobject,fid_a,9);
jfieldID fid_b =env->GetFieldID(clz_2,"b","I");
jint num_b =env->GetIntField(jobject,fid_b);
env->SetIntField(jobject,fid_b,10);
//获取方法id
jmethodID jmeid_2 = env->GetMethodID(clz_2,"add","()V");
env->CallVoidMethod(jobject,jmeid_2);

其实这个步骤一共就这几步

  1. 找到类名
  2. 准备构造函数
  3. 创建对象
  4. 获得fieldID
  5. 得到对应的变量
  6. 更改变量的值

通过这样我们就可以运行了,这样就可以得到最终的结果了

20230830143015

相关文章:

Android Native Code开发学习(三)对java中的对象变量进行操作

Android Native Code开发学习&#xff08;三&#xff09; 本教程为native code学习笔记&#xff0c;希望能够帮到有需要的人 我的电脑系统为ubuntu 22.04&#xff0c;当然windows也是可以的&#xff0c;区别不大 对java中的对象变量进行操作 首先我们新建一个java的类 pub…...

如何用bat文件调用与它在同一文件夹下的某个exe程序

第一个方案&#xff1a; 如果bat文件与某个exe程序在同一文件夹下的。那直接写那个 程序文件名字就行了。 两种写法。比如是 test.exe程序 一种 test.exe 二种 start test.exe 第一种批处理会等待test.exe程序执行完后才会运行下面的语句 第二种不会等待 这个写绝对路径好用 另…...

设计模式--单例模式(Singleton Pattern)

一、什么是单例模式 单例模式是一种创建型设计模式&#xff0c;它旨在确保一个类只有一个实例&#xff0c;并提供一个全局访问点来访问该实例。换句话说&#xff0c;单例模式限制了类的实例化次数为一个&#xff0c;并提供一种在应用程序中共享一个实例的方式。这对于需要只有…...

postgis数据库从一张表中过滤出一部分数据到新表中

你可以使用以下步骤在PostGIS数据库中过滤objectid<100的数据&#xff0c;并将其创建为新表&#xff1a;打开PostGIS数据库的终端或客户端工具&#xff08;如Psql&#xff09;。 选择你要过滤数据的表。假设表名为"original_table"&#xff0c;该表包含一个名为&q…...

INDEMIND:“大+小”多机协同,实现机器人商用场景全覆盖

随着商用清洁机器人进入越来越多的场景中&#xff0c;单一的中型机器人并不能有效覆盖所有区域&#xff0c;更加细分化的产品组合正在成为新的趋势。 产品形态的“新趋势” 在商用场景中&#xff0c;目前的商用清洁机器人几乎均是中大型的产品形态&#xff0c;较大的体型意味…...

微信开发之一键创建标签的技术实现

简要描述&#xff1a; 添加标签 请求URL&#xff1a; http://域名地址/addContactLabel 请求方式&#xff1a; POST 请求头Headers&#xff1a; Content-Type&#xff1a;application/jsonAuthorization&#xff1a;login接口返回 参数&#xff1a; 参数名必选类型说明…...

八一参考文献:[八一新书]许少辉.乡村振兴战略下传统村落文化旅游设计[M]北京:中国建筑出版传媒,2022.

八一参考文献&#xff1a;&#xff3b;八一新书&#xff3d;许少辉&#xff0e;乡村振兴战略下传统村落文化旅游设计&#xff3b;&#xff2d;&#xff3d;北京&#xff1a;中国建筑出版传媒&#xff0c;&#xff12;&#xff10;&#xff12;&#xff12;&#xff0e;...

ChatGPT⼊门到精通(7):GPT3.5与 4.0区别

⼀、详细区别 1 项⽬ GPT3.5 GPT4.0 2 打字速度 较慢&#xff0c;⾼峰期更慢 更加慢&#xff0c;差别不⼤ 3 掉线⼏率 经常掉线 很少掉线 4 分段能⼒ ⽣成⼏百字后就停⽌了&#xff0c; 需要回复“继续”&#xff0c;有时候不 是很连贯 基本连贯 5 使⽤限制 1⼩时100次提问&am…...

Springboot整合MyBatisPlus框架操作MySQL

1、MyBatis-Plus概述 MyBatis-Plus (opens new window)&#xff08;简称 MP&#xff09;是一个 MyBatis (opens new window)的增强工具&#xff0c;在 MyBatis 的基础上只做增强不做改变&#xff0c;为简化开发、提高效率而生。 【技术储备】 拥有 Java 开发环境以及相应 IDE…...

基于Jenkins构建生产CICD环境(第二篇)

基于Jenkins自动打包并部署Tomcat环境 传统网站部署的流程 在运维过程中&#xff0c;网站部署是运维的工作之一。传统的网站部署的流程大致分为:需求分 析-->原型设计-->开发代码-->提交代码-->内网部署-->内网测试-->确认上线-->备份数据-->外网更新…...

ioctl、printk及多个此设备支持

一、ioctl操作实现 ioctl&#xff08;Input/Output Control&#xff09;是一个在 Unix-like 操作系统中的系统调用&#xff0c;用于控制设备或文件的各种操作。它允许用户空间程序与内核空间进行交互&#xff0c;执行一些特定的设备控制、状态查询或其他操作&#xff0c;而不必…...

电脑每次开机杀毒软件报iusb3mon.exe病毒已清除,电脑中病毒iusbmon杀毒办法,工具杀毒

不知道什么时候开始&#xff0c;我电脑C盘的系统数据存储文件夹programdata 不知不觉就没了&#xff0c;找不到了 programdata文件夹为存储系统数据文件的&#xff0c;这个文件不见了&#xff0c;而且我打开了显示隐藏文件和文件夹还是没有显示 然后我重启电脑&#xff0c;杀毒…...

centos服务器系统下安装python3并与自带的python2

centos服务器系统下安装python3并与自带的python2 在centos中&#xff0c;自带有python2&#xff0c;因此需要经常安装python3。但是这里有一个坑&#xff0c;就是centos的yum是用python2写的&#xff0c;如果正常编译安装python3&#xff0c;那么yum就会直接挂了。为了方便以…...

(二十)大数据实战——Flume数据采集的基本案例实战

前言 本节内容我们主要介绍几个Flume数据采集的基本案例&#xff0c;包括监控端口数据、实时监控单个追加文件、实时监控目录下多个新文件、实时监控目录下的多个追加文件等案例。完成flume数据监控的基本使用。 正文 监控端口数据 ①需求说明 - 使用 Flume 监听一个端口&am…...

AutoCAD图如何保存为Word

AutoCAD图如何保存为Word 引言AutoCAD图保存为Word文件步骤&#xff1a; 引言 不知道大家有没有是否遇到需要将AutoCAD图保存到Word中。有些小伙伴可能直接截图插入Word中&#xff0c;这种方法简单&#xff0c;但对于有高清图片需求的小伙伴就不适用了。接下来我就为大家介绍一…...

Java线程 - 详解(2)

一&#xff0c;线程安全问题 有些代码在单个线程的环境下运行&#xff0c;完全正确&#xff0c;但是同样的代码&#xff0c;让多个线程去执行&#xff0c;此时就可能出现BUG&#xff0c;这就是所谓的 "线程安全问题"。举一个例子&#xff1a; public class Demo {s…...

事务特性 - 达梦数据库

达梦数据库事务特性 1 事务特性1.1 原子性1.2 一致性1.3 隔离性1.4 持久性 1 事务特性 事务必须具备什么属性才是一个有效的事务呢&#xff1f;一个逻辑工作单元必须表现出四种属性&#xff0c;即原子性、一致性、隔离性和持久性&#xff0c;这样才能成为一个有效的事务。DM 数…...

axios 使用FormData格式发送GET请求

如果你需要使用&#xff0c;FormData格式&#xff0c;发送GET请求 将参数拼接到 FormData对象 中&#xff0c;使用 URLSearchParams 将FormData对象转换为查询参数字符串&#xff0c;并将其拼接到URL中&#xff0c;这样就能以FormData格式发送GET请求给服务器 注意&#xff1…...

CS144(2023 Spring)Lab 1: stitching substrings into a byte stream

文章目录 前言其他笔记相关链接 1. Getting started2. Putting substrings in sequence2.1 需求分析2.2 注意事项2.3 代码实现 3. 测试与优化 前言 这一个Lab主要是实现一个TCP receiver的字符串接收重组部分。 其他笔记 Lab 0: networking warmup Lab 1: stitching substri…...

【PHP】常用的PHP内置函数

1、PHP内置函数非常丰富&#xff0c;用于执行各种任务。以下是一些常用的PHP内置函数&#xff1a; 字符串操作函数&#xff1a; strlen(): 返回字符串的长度。 strpos(): 查找字符串中的某个子串第一次出现的位置。 substr(): 返回字符串的子串。 str_replace(): 替换字符串中的…...

LTR-329ALS-01环境光传感器驱动与I²C配置详解

1. LTR-329ALS-01 数字环境光传感器深度技术解析1.1 器件定位与系统级设计考量LTR-329ALS-01 是一款面向低功耗嵌入式应用的 IC 接口数字环境光传感器&#xff08;Ambient Light Sensor, ALS&#xff09;&#xff0c;由 Lite-On 公司设计&#xff0c;广泛应用于智能手机、可穿戴…...

glb模型在Cesium中发黑的机理分析

最近在将一款火箭模型(fbx模式&#xff09;转换为glb(gltf)格式后&#xff0c;在Cesium中加载结果模型看起来全黑&#xff0c;经过分析发现是由于高光的折射率等级(IOR level)默认设置错误(设置为0)导致的&#xff0c;将其设置为0.5即可在Cesium中表现正常。 现象 现有一个fbx格…...

RexUniNLU新手必看:从模型下载到API服务部署完整流程

RexUniNLU新手必看&#xff1a;从模型下载到API服务部署完整流程 1. 引言&#xff1a;为什么选择RexUniNLU&#xff1f; RexUniNLU是一款基于Siamese-UIE架构的轻量级自然语言理解框架&#xff0c;它最大的特点是支持零样本学习——这意味着你不需要准备任何标注数据&#xf…...

如何快速解决Places.js地址自动补全的5个常见错误:终极处理技巧指南

如何快速解决Places.js地址自动补全的5个常见错误&#xff1a;终极处理技巧指南 【免费下载链接】places :globe_with_meridians: Turn any into an address autocomplete 项目地址: https://gitcode.com/gh_mirrors/pl/places Places.js是一个强大的地址自动补全JavaS…...

视觉增强实战:OpenClaw调用Qwen3.5-9B实现截图内容分析与报告生成

视觉增强实战&#xff1a;OpenClaw调用Qwen3.5-9B实现截图内容分析与报告生成 1. 为什么需要视觉增强的自动化助手&#xff1f; 作为一名经常需要处理大量学术资料的研究者&#xff0c;我长期被两个问题困扰&#xff1a;一是阅读文献时遇到复杂的图表需要反复对照文字说明&am…...

Bili2text:重构B站视频内容提取流程的智能解决方案

Bili2text&#xff1a;重构B站视频内容提取流程的智能解决方案 【免费下载链接】bili2text Bilibili视频转文字&#xff0c;一步到位&#xff0c;输入链接即可使用 项目地址: https://gitcode.com/gh_mirrors/bi/bili2text 在信息爆炸的视频时代&#xff0c;教育工作者、…...

Nanbeige像素冒险聊天终端:从start.sh到supervisorctl的完整使用流程

Nanbeige像素冒险聊天终端&#xff1a;从start.sh到supervisorctl的完整使用流程 1. 项目概览与环境准备 Nanbeige 4.1-3B像素冒险聊天终端是一款融合复古游戏美学与AI对话功能的创新工具。这套系统采用Streamlit框架构建&#xff0c;通过精心设计的像素风格界面&#xff0c;…...

OpenClaw定时任务管理:Qwen3-4B每日早报自动生成与推送

OpenClaw定时任务管理&#xff1a;Qwen3-4B每日早报自动生成与推送 1. 为什么需要自动化早报服务 每天早上打开电脑第一件事&#xff0c;就是查看行业动态和技术新闻。但手动收集整理的过程实在太耗时——要打开十几个网页&#xff0c;筛选有价值的信息&#xff0c;再整理成简…...

ABAP开发必备:5种处理前导0的实战技巧(附SQL代码示例)

ABAP开发必备&#xff1a;5种处理前导0的实战技巧&#xff08;附SQL代码示例&#xff09; 在SAP ABAP开发中&#xff0c;物料号、供应商号等关键字段经常需要处理前导0的问题。这些看似简单的数字格式差异&#xff0c;却可能引发数据查询失败、报表统计错误等一系列"蝴蝶效…...

Qwen3-ForcedAligner-0.6B在美赛中的应用:跨语言访谈数据分析

Qwen3-ForcedAligner-0.6B在美赛中的应用&#xff1a;跨语言访谈数据分析 1. 引言 在美国大学生数学建模竞赛&#xff08;MCM/ICM&#xff09;中&#xff0c;参赛队伍经常面临一个棘手问题&#xff1a;如何高效处理来自不同国家、不同语言的学术访谈数据&#xff1f;传统方法…...