永发信息网

Jni 回调函数,参数是数据结构的,jni c文件中增么实现?求给个例子

答案:1  悬赏:40  手机版
解决时间 2021-04-18 20:56
  • 提问者网友:未信
  • 2021-04-18 05:10
Jni 回调函数,参数是数据结构的,jni c文件中增么实现?求给个例子
最佳答案
  • 五星知识达人网友:我住北渡口
  • 2021-04-18 06:28
C结构体不能直接转换成java对象,只能通过NewObject方法在native层new一个对象,然后传给CallVoidMethod,比如我有个UserInfo类,在native层调用setUsername方法
public class UserInfo {

public void setUsername(String username) {
this.username = username;
}
}
//下面是native代码
jclass clazz = (*env)->GetObjectClass(env, userInfo);
jmethodID methodId = (*env)->GetMethodID(env, clazz, "setUsername", "(Ljava/lang/String;)V");
(*env)->CallVoidMethod(env, userInfo, methodId, (*env)->NewStringUTF(env, "newUsername"));

具体JNI的使用可以看下:JNI教程http://blog.csdn.net/shensky711/article/details/52806794,希望可以帮到你
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯