2011-12-15 13 views
1

getLong()getCharArray()メソッドを持つJavaクラスがあり、このクラスへのjobjectリンクがあります。JNI: "()[C"署名付きのJavaメソッドを呼び出す

このコード

jclass clsData = env->GetObjectClass(data); 
jmethodID getVal = env->GetMethodID(clsData, "getLong", "()J"); 
jlong x = env->CallLongMethod(data, getVal); 

くれgetLong()によって返されたlong値へのアクセス権を与えます。

jclass clsData = env->GetObjectClass(data); 
jmethodID getVal = env->GetMethodID(clsData, "getCharArray", "()[C"); 
??? 

文字配列へのアクセス方法を教えてください。

答えて

4

あなたがこの方法のようにchar型の配列を取得することができ、これは別のポストからの簡単なスニペットは、完全なポストhere

jobject obj = ... // This is the object you want to call the method on 
jcharArray arr = (jcharArray) (*env)->CallObjectMethod(env, obj, getVal); 
int count = (*env)->GetArrayLength(env, arr); 
jchar* chars = (*env)->GetCharArrayElements(env, arr, 0); 
です
関連する問題