[ Native -> Java ] 제가 테스트해봄
static jobjectArray get_string_arr(JNIEnv* env, jclass)
{
char *str[5] = {"first","second","third","fourth","fifth"};
jobjectArray joa= (jobjectArray)env->NewObjectArray(count,
env->FindClass("java/lang/String"),env->NewStringUTF(""));
if (joa == NULL) {
jniThrowRuntimeException(env, "Create New jobjectArray is Null");
return NULL;
}
for (int i = 0; i < 5 ; i++)
env->SetObjectArrayElement(joa,i,env->NewStringUTF(str[i]));
return joa;
}
참조 : http://kaludin.egloos.com/2658085
빨간색 부분 같이 꼭 String형태로 바꿔줘야 에러가 발생하지 않고 잘 저장이 됩니다.
[ Java -> Native ] 참조
void MyJNIFunction(JNIEnv *env, jobject object, jobjectarray stringArray) {
int stringCount = GetArrayLength(env, stringArray);
for (int i=0; i<stringCount; i++) {
jstring string = (jstring) GetObjectArrayElement(env, stringArray, i);
const char *rawString = GetStringUTFChars(env, string, 0);
// Don't forget to call `ReleaseStringUTFChars` when you're done.
}
}
출처 : http://stackoverflow.com/questions/5972207/passing-string-array-from-java-to-c-with-jni
그럼 다들 오늘두 즐코딩~ㅎ
'나의 플랫폼 > 안드로이드' 카테고리의 다른 글
[ Android ] AIDL 파일 예제 (0) | 2013.01.28 |
---|---|
[ Android ] CalledFromWrongThreadException (0) | 2013.01.24 |
[ Android ] Read Only File System IOException ( EROFS ) (0) | 2012.11.15 |
[ Android ] System property와 관련하여 (0) | 2012.11.15 |
[ Android ] Native단 Logcat에서 Log 출력 (0) | 2012.10.25 |