创建java对象
NewObject:
使用NewObject可以用创建Java对象。
jobject NewObject(jclass clazz, jmethodID methodID, ...) {
va_list args;
jobject result;
va_start(args, methodID);
result = functions->NewObjectV(this,clazz,methodID,args);
va_end(args);
return result;
}
jobject NewObjectV(jclass clazz, jmethodID methodID,
va_list args) {
return functions->NewObjectV(this,clazz,methodID,args);
}
jobject NewObjectA(jclass clazz, jmethodID methodID,
const jvalue *args) {
return functions->NewObjectA(this,clazz,methodID,args);
}
构造方法:
GetMethodID能够取得构造方法的jmethodID。如果传入的要取得的方法名称设定为”<init>“就能够取得构造方法。
构造方法的返回值类类型的签名始终未Void。
示例:
java端:
public class TestMain {
public native void getjni();
public static void main(String[] args) {
// TODO Auto-generated method stub
System.loadLibrary("ConsoleApplication");
TestMain j = new TestMain();
j.getjni();
}
}
c++:
JNIEXPORT void JNICALL Java_com_cn_TestMain_getjni
(JNIEnv * env, jobject obj){
jclass cls_date