混合编程jni 第五篇之C++ 访问 Java代码
Posted 香菜聊游戏
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了混合编程jni 第五篇之C++ 访问 Java代码相关的知识,希望对你有一定的参考价值。
今天继续JNI的学习,因为是混合编程,所以在写的过程中需要进行交互
Java可以调用C++,C++也可以调用Java,
虽然作为Java程序很少写C++,但是既然是做JNI开发,就不得不了解下如果
在C++中访问Java的属性和方法,开始吧
访问属性
对象属性
// 获得方法的id
jfieldID GetFieldID(JNIEnv *env, jclass clazz,const char *name, const char *sig);
// 读取属性的值
NativeType Get<type>Field(JNIEnv *env, jobject obj,jfieldID fieldID);
// 设置属性的值
void Set<type>Field(JNIEnv *env, jobject obj, jfieldID fieldID,NativeType value);
返回类的实例(非静态)字段的字段 ID。该字段由其名称和签名指定。
访问器函数的GetField和SetField系列使用字段 ID 来检索对象字段。
来个例子
/* Get a reference to obj\'s class */
jclass cls = (*env)->GetObjectClass(env, obj); //第一步
printf(
以上是关于混合编程jni 第五篇之C++ 访问 Java代码的主要内容,如果未能解决你的问题,请参考以下文章