原创

Android NDK开发学习(五)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://weilu.blog.csdn.net/article/details/48546175

Android NDK开发学习(五):JNI数据类型

调用一个Java native方法的时候,方法中的参数需要传给C/C++本地函数中。

首先可以看之前的demo,stringFromJNI方法中传入一个String类型参数。

public class GetString {
    
	public native String stringFromJNI(String string);
	
}
接下来是com_example_jnitest_GetString.h文件中的接收
#include <jni.h>
/* Header for class com_example_jnitest_GetString */

#ifndef _Included_com_example_jnitest_GetString
#define _Included_com_example_jnitest_GetString
#ifdef __cplusplus
extern "C" {
#endif
/*
 * Class:     com_example_jnitest_GetString
 * Method:    stringFromJNI
 * Signature: (Ljava/lang/String;)Ljava/lang/String;
 */
JNIEXPORT jstring JNICALL Java_com_example_jnitest_GetString_stringFromJNI
  (JNIEnv *, jobject, jstring);

#ifdef __cplusplus
}
#endif
#endif
从头文件函数的原型可以得知,stringFromJNI方法中形参的数据类型自动转换成了JNI中相应的数据类型(String ····> jstring)

剩余的类型就不一一的赘述了。可以参考下表。





文章最后发布于: 2015-09-18 15:19:05
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 猿与汪的秘密 设计师: 上身试试

分享到微信朋友圈

×

扫一扫,手机浏览