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);




예전에는 한글 변환이 안되어서 애먹었는데, 요즘은 그냥 되는 듯하네 ^^;

반응형

'Android Coding' 카테고리의 다른 글

여러 장의 jpg를 PDF로 만들기  (0) 2018.09.06
Android Acitivty restart  (0) 2018.08.03
Thread UI 처리에 대한 샘플  (0) 2017.11.29
ScrollView 안에서의 RecyclerView시 Smooth Scroll  (0) 2017.11.11
파일 삭제 Task  (0) 2017.11.10