Android Coding
[NDK] chars To JString
오마로
2018. 4. 9. 15:10
반응형
Android Navtive 에서 NDK로 개발을 해야겠다.
메모리도 그렇고, 속도 개선을 위해서 필요한 작업인 것 같다.
하나 하나 필요한 기능들을 모아서 기능을 업글해 봅시다.
기존 chars를 jstring으로 반환하는 기능
jstring NativeDecoder::charsToJString(const char *chars) { | |
std::string str(chars); | |
jbyteArray array = env->NewByteArray(str.size()); | |
env->SetByteArrayRegion(array, 0, str.size(), (const jbyte*)str.c_str()); | |
jstring strEncode = env->NewStringUTF("UTF-8"); | |
jclass cls = env->FindClass("java/lang/String"); | |
jmethodID ctor = env->GetMethodID(cls, "<init>", "([BLjava/lang/String;)V"); | |
jstring object = (jstring) env->NewObject(cls, ctor, array, strEncode); | |
return object; | |
} |
반대로, jPath를 char로 변환
const char *strPath = NULL; strPath = env->GetStringUTFChars(jPath, 0); | |
예전에는 한글 변환이 안되어서 애먹었는데, 요즘은 그냥 되는 듯하네 ^^;
반응형