最終更新:2018-11-13 (火) 16:46:06 (640d)  

NewObject
Top / NewObject

jobject NewObject(JNIEnv *env, jclass clazz, jmethodID methodID, ...);

インナークラスのコンストラクタ

  • GetMethodIDの引数にアウタークラスが必要 (javapで調べるとそうなってる)
  • NewObjectの第1引数がアウタークラスになるのでthizを渡す必要がある
    jclass clzInner = (*env)->FindClass(env,"path/to/Outer$Inner");
    jmethodID mid = (*env)->GetMethodID(env, clzInner , "<init>", "(Lpath/to/Outer;)V");
    jobject objInner = (*env)->NewObject(env, clzInner , mid, thiz);