首先定义了一个类class device{String strDeviceName;int i;} 然后定义一个本地函数 public native int ListDev(device[] devList)然后在本地用c实现:JNIEXPORT jint JNICALL Java_com_NDKTSPtest_JniTspTest_Listdev(JNIEnv *e, jobject j, jobjectArray devList){jint dwRet;jobject dev1 = (*e)->GetObjectArrayElement(e, devList, 0);;
jclass dev = (*e)->GetObjectClass(e, dev1);
jfieldID strDeviceName = (*e)->GetFieldID(e, dev, "strDeviceName", "Ljava/lang/String;");
jfieldID iType = (*e)->GetFieldID(e, dev, "iType", "I");
jstring jstr = (*e)->NewStringUTF(e,DeviceName);
(*e)->SetObjectField(e, dev1, strDeviceName, jstr);
(*e)->SetIntField(e, dev1, iType, UK_SDKEYID);
dwRet =RT_OK;
(*e)->ReleaseStringUTFChars(e, jstr, DeviceName);return dwRet;}总是有问题 这个取得类数组里面的引用类型对吗?总感觉有点问题 但又不知道问题处在哪儿?
jclass dev = (*e)->GetObjectClass(e, dev1);
jfieldID strDeviceName = (*e)->GetFieldID(e, dev, "strDeviceName", "Ljava/lang/String;");
jfieldID iType = (*e)->GetFieldID(e, dev, "iType", "I");
jstring jstr = (*e)->NewStringUTF(e,DeviceName);
(*e)->SetObjectField(e, dev1, strDeviceName, jstr);
(*e)->SetIntField(e, dev1, iType, UK_SDKEYID);
dwRet =RT_OK;
(*e)->ReleaseStringUTFChars(e, jstr, DeviceName);return dwRet;}总是有问题 这个取得类数组里面的引用类型对吗?总感觉有点问题 但又不知道问题处在哪儿?
解决方案 »
- android工程运行是如何指定初始页面的?
- 如何通过代码移动程序到SD卡? 或者ADB把一个在内存的程序移到SD卡.100分.够高了吧..
- android如何实现摇晃复制功能?大牛请进。。
- Android程序加密
- 当我以dialog对话框的方式显示一个xml布局的时候,为什么会。。。。。。
- app widget 配置活动 update
- 请问关于AndroidManifest.xml的问题
- 问问自己./emulator 之后默认启动的avd是哪个avd?
- 这段话啥意思
- 运行HttpUrlConnection错误
- 求在Android里退出整个程序的方法(程序里包含多个Activity)
- 关于android中自定义view的问题。
jclass dev = (*e)->GetObjectClass(e, dev1);
jfieldID strDeviceName = (*e)->GetFieldID(e, dev, "strDeviceName", "Ljava/lang/String;");
jfieldID iType = (*e)->GetFieldID(e, dev, "iType", "I");
jstring jstr = (*e)->NewStringUTF(e,DeviceName);
(*e)->SetObjectField(e, dev1, strDeviceName, jstr);
(*e)->SetIntField(e, dev1, iType, UK_SDKEYID);
dwRet =RT_OK;
(*e)->ReleaseStringUTFChars(e, jstr, DeviceName);这个顺序没错,先拿到数组对象的,然后从数组对象中获取基本类型的,问题是你的
jclass dev = (*e)->GetObjectClass(e, dev1); 这个是有问题的。
这里有资料,可以参考一下。
http://www.blogjava.net/china-qd/archive/2006/04/29/44002.html