투케이2K

479. (Android) [JNI] jstring to char 형변환 수행 및 strcat 사용해 문자열 결합 실시 본문

Android

479. (Android) [JNI] jstring to char 형변환 수행 및 strcat 사용해 문자열 결합 실시

투케이2K 2023. 2. 12. 22:05

[개발 환경 설정]

개발 툴 : AndroidStudio

 

[소스 코드]

// -----------------------------------------------------------------------------------------
// TODO [기존 : 결과 반환 소스 코드 작성 실시]
// [기본 경로 [패키지 및 클래스 명칭] : Java_com_example_nativelib_NativeLib_]
// [커스텀 설정 명칭] : testMain]
extern "C" JNIEXPORT jstring JNICALL
Java_com_example_nativelib_NativeLib_testMain(
        JNIEnv* env,
        jobject,

        jstring data1, // [인풋 값 : string]
        jstring data2 // [인풋 값 : string]
) {

    // [jstring 타입을 char * 타입으로 변경]
    const char *char_1 = env->GetStringUTFChars(data1, 0);
    const char *char_2 = env->GetStringUTFChars(data2, 0);


    // [char * 타입을 jstring 타입으로 변경]
    //jstring jstr_1 = env->NewStringUTF(char_1);
    //jstring jstr_2 = env->NewStringUTF(char_2);


    // [strcat 사용해 문자열 결합 실시]
    char buf[1024];
    strcat(buf, char_1);
    strcat(buf, char_2);


    // [리턴 반환 실시]
    return env->NewStringUTF(buf);
}
// -----------------------------------------------------------------------------------------


    // -----------------------------------------------------------------------------------------
    // TODO [SEARCH FAST] : [nativelib.cpp 애 정의된 함수 호출] : 테스트 메소드 호출 수행
    public native String testMain(String data1, String data2);
    // -----------------------------------------------------------------------------------------
 

[결과 출력]

D///===========//: ================================================
I/: [MainActivity >> NativeLib :: 로그 결과 출력]
I/: -------------------------------------------------
I/: [result :: 안녕투케이]
D///===========//: ================================================

 

반응형
Comments