随笔分类 -  JNI归纳01

摘要:1、我在做 Android 操作串口的时候,使用的是 "android-serialport-api-master.zip",它所带的 .so文件 的位置是 "??\android-serialport-api-master\android-serialport-api\project\libs", 阅读全文
posted @ 2018-10-18 16:32 JavaSkill 阅读(231) 评论(0) 推荐(0)
摘要:在Java中数组分为两种: (1)、基本类型数组 (2)、对象类型(Object[])的数组 (数组中存放的是指向Java对象中的引用) 一个能通用于两种不同类型数组的函数: GetArrayLength(jarray array); 首先来看一下怎么处理基本类型的数组 : (1) Get<Type 阅读全文
posted @ 2016-04-26 16:18 JavaSkill 阅读(139) 评论(0) 推荐(0)
摘要:ZC: jstring 就是 Java中的String对象 ZC: 10.8 Unicode字符串结尾(http://www.360doc.cn/article/14233282_321497569.html) 从GetStringChars和GetStringCritical两个方法获得的Unic 阅读全文
posted @ 2016-04-26 13:41 JavaSkill 阅读(496) 评论(0) 推荐(0)
摘要:1、步骤 : (1)、获取 jclass (2)、获取 构造函数的 method id (方法的名称始终为"<init>") (3)、创建Java对象的两种方式: (3.1)、jobject obj?? = (JNIEnv *)->NewObject(jclass _clazz, 构造函数的Meth 阅读全文
posted @ 2016-04-26 10:16 JavaSkill 阅读(1068) 评论(0) 推荐(0)
摘要:1、 2、VC6(CPP)的DLL代码: 3、Java代码: 4、Java控制台输出: 5、 阅读全文
posted @ 2016-04-25 16:41 JavaSkill 阅读(336) 评论(0) 推荐(0)
摘要:1、关键在于: 使用的 method id 是 子类的 还是 父类的,而 父类methodID的获取 必须使用 父类的class对象。 2、VC6(CPP)的DLL代码: 3、Java代码: 4、Java控制台输出: 5、 阅读全文
posted @ 2016-04-25 16:40 JavaSkill 阅读(279) 评论(0) 推荐(0)
摘要:1、步骤: (1)、获取 jclass (2)、获取 method的id (3)、调用 method ZC: 貌似 JNI里面 操作 类的方法,完全是 无视 访问权限的... 然而 static的方法,稍有不同,要注意。 ZC: CallIntMethod(...) / CallStaticIntM 阅读全文
posted @ 2016-04-25 15:19 JavaSkill 阅读(282) 评论(0) 推荐(0)
摘要:1、步骤 : (1)、获取 jclass (2)、获取 类属性字段的id(最后一个参数是 属性字段 的签名) (3)、获取/设置 类属性字段的值 ZC: 貌似 JNI里面 操作 类属性字段,完全是 无视 访问权限的... 然而 static的类属性字段,稍有不同,要注意。 2、VC6(CPP)的DL 阅读全文
posted @ 2016-04-22 15:10 JavaSkill 阅读(290) 评论(0) 推荐(0)
摘要:1、 ZC: 我的分类:ZC: (A)、类型签名ZC: (A.1)、单个 类型签名ZC: (1)、boolean ~ void 类型的签名 一目了然ZC: (2)、Object的签名,分三个部分:用"/"分割的完整类名,前面加上字母"L",后面加上分号";"ZC: (A.2)、数组 类型签名ZC: 阅读全文
posted @ 2016-04-22 14:47 JavaSkill 阅读(410) 评论(0) 推荐(0)
摘要:1、 1.1、JNIEXPORT void JNICALL Java_包名_类名_函数名01(JNIEnv * env, jclass clazz) // Java代码中的 静态函数 1.2、JNIEXPORT void JNICALL Java_包名_类名_函数名02(JNIEnv * env, 阅读全文
posted @ 2016-04-22 14:06 JavaSkill 阅读(379) 评论(0) 推荐(0)
摘要:1、 为了能够在C/C++中使用Java类,jni.h头文件中专门定义了jclass类型来表示Java中的Class类(ZC: 就是Clazz) 2、 2.1、JNIEXPORT void JNICALL Java_包名_类名_函数名01(JNIEnv * _env, jclass _clazz) 阅读全文
posted @ 2016-04-22 13:59 JavaSkill 阅读(328) 评论(0) 推荐(0)