Ndk学习之JNI构造函数(java-->C-->Java)

1.在Java中定义构造函数(无参的不写没事,不被覆盖就行)并获取

public native Object accessConstaructor();

2.javah生成头文件

JNIEXPORT jobject JNICALL Java_com_boom_JNITest_accessConstaructor
(JNIEnv * env, jobject jobj)

3.源代码中进行具体实现

//访问构造方法
//使用java.util.Date产生一个当前的时间戳
JNIEXPORT jobject JNICALL Java_com_boom_JNITest_accessConstaructor
(JNIEnv * env, jobject jobj){
	//jclass
	jclass cls = (*env)->FindClass(env,"java/util/Date");
	//jmethodID
	jmethodID constaructor_mid = (*env)->GetMethodID(env,cls,"<init>","()V");
	//实例一个Date对象
	jobject date_obj = (*env)->NewObject(env,cls,constaructor_mid);
	//调用getTime方法
	jmethodID mid = (*env)->GetObjectClass(env,date_obj);
	jlong time = (*env)->CallLongMethod(env,date_obj,mid);
	
	printf("\ntime:%lld\n",time);
	return date_obj;
}


3.源代码中进行具体实现
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值