jclass jobject

jclass:类引用

jobject:实例引用(C++的说法:对象引用)

C访问java的变量,需要获取变量ID,然后访问变量。

其中获取变量ID,GetFieldID,需要参数jclass,这是一个类操作,因为它从这个类中获得field的描述。

与此相反,访问变量变量,GetIntField,需要参数jobject,这是一个实例操作,因为它从这个实例中获得这个field的值。

时间: 2024-10-27 08:10:02

jclass jobject的相关文章

JNI/NDK开发指南(七)——C/C++访问Java实例变量和静态变量

转载请注明出处:http://blog.csdn.net/xyang81/article/details/42836783 在上一章中我们学习到了如何在本地代码中访问任意Java类中的静态方法和实例方法,本章我们也通过一个示例来学习Java中的实例变量和静态变量,在本地代码中如何来访问和修改.静态变量也称为类变量(属性),在所有实例对象中共享同一份数据,可以直接通过[类名.变量名]来访问.实例变量也称为成员变量(属性),每个实例都拥有一份实例变量数据的拷贝,它们之间修改后的数据互不影响.下面看一

c调用java

public class MainActivity extends AppCompatActivity { private JNI jni; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); jni = new JNI(); } public void test1(Vie

Android NDK开发(五)--C代码回调Java代码【转】

转载请注明出处:http://blog.csdn.net/allen315410/article/details/41862479 在上篇博客里了解了Java层是怎样传递数据到C层代码,并且熟悉了大部分的实际开发知识,基本上掌握这些就可以做一个基本的NDK开发了,但是光是了解Java回调C层的数据是不是还不够啊,考虑问题要考虑可逆性,Java能回调C,那么C能否反过来回调Java呢?答案是肯定可以的,这篇博客就介绍一个C语言如何调用Java层的代码.以下是一些问题场景,我们带着这个问题场景来分析

关于JNI

JNI NDK开发环境的搭建 将NDK的路径拷贝到环境变量path中 cmd中运行ndk-build可验证是否添加成功 JNI_HelloWorld 步骤 1.创建Android工程 2.java代码中声明native方法 3.在工程根目录下创建jni文件夹,编写c代码,名字要对应 4.编写Android.mk文件 5.NDK编译生成动态链接库 6.java代码load动态库,调用native代码 实现 通过一个点击事件来调用C代码 在Activity中添加方法public native Str

03_Android NDK中C语言调用Java代码,javah的使用,javap的使用以及生成签名,Android.mk的编写,C代码的编写

?? 1  案例场景,通过C语言回调Java的代码,案例的最终界面: 2  案例的代码结构如下: 3 编写DataProvider的代码: package com.example.ndkcallback; public class DataProvider { //C调用java空方法 public void helloFromJava(){ System.out.println("哈哈哈  我被调用了"); } //C调用java中的带两个int参数的方法 public int Ad

JCEF3——谷歌浏览器内核Java版实现(一):使用jawt获取窗体句柄

前言 最近一段时间研究谷歌浏览器内核.谷歌浏览器内核一直开源,并维护更新,它的开源项目中内核更新速度和Chrome浏览器版本更新进度一样!而且它不同于WebKit(值得一题的是谷歌浏览器已不使用WebKit内核了),它提供的不仅仅是页面渲染,而是提供一整浏览器解决方案和插件规则. 使用方便:我们给它一个“窗体”(操作系统或系统资源管理器中的本地窗体,本系列都使用Win32平台作为示例)和一些配置参数,它就能将你需要渲染的页面在给定窗口中完美地展示. 插件支持:Adobe和Google联合开发的p

JNI中C调用Java方法

背景需求 我们需要在JNI的C代码调用Java代码.实现原理:使用JNI提供的反射借口来反射得到Java方法,进行调用. JNI关键方法讲解. 1. 在同一个类中,调用其他方法 JNIEXPORT void JNICALL Java_cn_itcast_ndkcallback_DataProvider_callmethod1 (JNIEnv * env, jobject obj){ //在c代码里面调用java代码里面的方法 // java 反射 //1 . 找到java代码的 class文件

jni.h头文件详解(二)

一:struct JNINativeInterface_{} 结构体的作用:它有点像我们char字符驱动的 file_ops结构体,它定义各种函数对在(jni.h头文件详解一)中定义的各种数据的操作函数集体. 二:它包含那些针对Java中类和对象的相关操作呢如下图. 三:下面我们讲详细介绍14个部分方法的用法和解析 3.1.版本信息操作函数. 一.GetVersion jint (JNICALL *GetVersion)(JNIEnv *env) --模块信息:该模块主要针对的JNI接口的版本信

[Android]-图片JNI(C++\Java)高斯模糊的实现与比較

前几天一直在弄android上的图片模糊效果的实现! 一直找不到方法,看别人说都是调用JNI,可是JNI这个东西我还真不熟悉啊! 仅仅好从零開始了!这里不讲JNI的平台搭建,仅仅讲JNI的关键代码,详细的项目我会共享出来给大家! 对于JNI下使用C++来模糊图片这个我真的没找到,仅仅好自己写C++的来实现了. 在国外的一个项目中找到了一个"堆栈模糊效果",原型例如以下: // Stack Blur v1.0 // // Author: Mario Klingemann <[ema