|
本题添加时间:2024/8/16 9:22:00 |
|
圆梦客服:王老师 19139051760(微信同号) 19139051760(微信同号) |
使用JNI调用Java类中方法getTest()。(简答题)
|
答案是:.1、先使用FindClass方法获取指定类class;2、在使用GetStaticMethodID方法或者GetMethodID获取静态和非静态的方法id。3、在使用CallObjectMethod或者CallStaticObjectMethod方法调用静态非静态方法,对于没有返回值的方法,函数为CallStaticVoidMethod形式。jobject zoomImage(JNIEnv* env, jobject jimgo, jint width, jint height, jint hints) { /* 声明局部变量 */ jobject zoomimage; jmethodID jmgsi; jclass jimagec; /* 查找指定名称类 */ jimagec = (*env)->FindClass(env, "java/awt/Image"); /* 获取方法id (III)Ljava/awt/Image;为方法参数和返回值类型 (III)表示此方法参数为int,int,int三个参数。返回值为Ljava/awt/Image */ jmgsi = (*env)->GetMethodID(env, jimagec, "getScaledInstance", "(III)Ljava/awt/Image;"); zoomimage = (*env)->CallObjectMethod(env, jimgo, jmgsi, width, height, hints); return zoomimage; } jobject getImage(JNIEnv* env, jbyteArray buf) { /* 声明局部变量 */ jclass jcls; jmethodID jmid; jmethodID jcreateimage; jobject jtk; jobject jimgo; /* FindClass函数用于查找java类,参数为类的包名形式,不过.换成了/。 java.awt.Toolkit 对应java/awt/Toolkit */ jcls = (*env)->FindClass(env, "java/awt/Toolkit"); if (jcls == NULL) { return NULL; } /* 查找静态方法id。 第二个参数为查找方法的类class, 第三个参数为查找方法名称, 第三个参数为方法参数和返回值类型。 java中方法 public static Toolkit getDefaultToolkit() 对应的参数和方法类型为()Ljava/awt/Toolkit; ()表示此方法没有参数,Ljava/awt/Toolkit为返回值类型,记住前面的L和结尾; */ jmid = (*env)->GetStaticMethodID(env, jcls, "getDefaultToolkit", "()Ljava/awt/Toolkit;"); /* 调用静态方法,返回类型为Object。 参数分别为:指定方法的class和获取的方法id */ jtk = (*env)->CallStaticObjectMethod(env, jcls, jmid); /* 获取非静态方法id 使用和静态一样,注意这里参数类型:([B)Ljava/awt/Image; ([B)表示此方法的参数类型为byte[]数组,具体参数对应类型可以查找sun的jni手册 */ jcreateimage = (*env)->GetMethodID(env, jcls, "createImage", "([B)Ljava/awt/Image;"); /* 调用非静态方法,并返回Obiect对象,最后一个参数为可变参数,对应值为 方法的参数列表。 */ jimgo = (*env)->CallObjectMethod(env, jtk, jcreateimage, buf); /* 释放局部对象*/ (*env)->DeleteLocalRef(env, jtk); return jimgo; }
出自
2024年国家开放大学答案 国家开放大学系统
周口师范学院
|
更多试题>>>>
1、简述患者的择优心理的表现。(简答题)
2、户外( )等地方可以寻找到水源。 (多选题) .绿色植物的植被下 \xa0\xa0 .岩石裂缝中\xa0 .鸟巢 \xa0 \xa0 \xa0 \xa0 \xa0 \xa0\xa0 .山谷低凹处
3、多媒体技术的三个重要特性是( )。(多选题) .先进性.,. 集成性.,. 多样性.,. 交互性
4、为防止汽车自动脱档,汽车变速器的操纵机构有(单选题) .自锁装置 .互锁装置 .倒挡锁 .齿端倒角
5、4、解热镇痛药的镇痛原理,目前认为是( )。(单选题) .激动中枢阿片受体 .抑制末梢痛觉感受器 .抑制前列腺素(PG)的生物合成 .抑制传入神经的冲动传导
|