美文网首页
jni调用基础知识

jni调用基础知识

作者: 忧郁的老王 | 来源:发表于2018-07-04 14:41 被阅读6次

    此文主要讲 jni 调用java 对象的数据和数据类型的处理

    c++调用java的一般步骤:

    • 获得类

       jclass jclass1 = env->GetObjectClass(jobj);// 通过调用的方法获取类型
       // jclass 类型 和 GetObjectClass() 来自 jni.h 头文件 所以该操作需要引入#include <jni.h>
      
    • 通过类获取响应的变量的id

       jfieldID fid = env->GetFieldID(jclass1, "num", "I"); //获取字段id,
      

      I表示数据的基本类型

    • 通过id和对象获取指定字段的值

        jint num = env->GetIntField(jobj, fid);  //注意,不是用 jclazz, 使用 jobj ,获取int 值
      
    • java基本数据类型和表示符号的对应关

      java jni符号
      byte B
      boolean Z
      char C
      short S
      int I
      long L
      float F
      double D
      void V
      objects对象 Lfully-qualified-class-name; L类名;
      Arrays数组 [array-type [数组类型
      methods方法 (argument-types)return-type(参数类型)返回类型

    相关文章

      网友评论

          本文标题:jni调用基础知识

          本文链接:https://www.haomeiwen.com/subject/vrmeuftx.html