728x90
반응형
안녕하세요.
이번에 안드로이드 개발을 시작하면서 미들웨어의 함수를 호출해야 하는 일이 생겼습니다.
백그라운드는 전부 C++코드이기 때문에 직접 호출이 필요한 경우가 있습니다.
간단하게 호출하는 방법을 소개 하려고 합니다.
1. 코드 이름 및 종류
- exam.kt, mw.cpp
2. 간단한 소스
exam.kt
extern fun testNativeCode()
fun call() {
testNativeCode
}
여기서 위 내용처럼 하면 Android studio에서 native code를 생성 할 것인지 묻는다.
그때 만들어질 위치를 선택해주면 자동으로 생성 한다.
mw.cpp
#include "exam.h"
extern "C"
JNIEXPORT void JNICALL
Java_com_mobipintech_zui_MobileMainDialog_testNativeCode(JNIEnv *env, jobject thiz) {
// TODO: implement at3NativeTestFunc()
at3NativeTestFunc();
}
위 내용은 Java_com_mobipintech_zui_MobileMainDialog까지는 경로.
TestNativeCode는 함수 이름이다.
exam.cpp
void atNativeTestFunc()
{
printf("TEST 코드 입니다.\n")
}
exam.h
void atNativeTestFunc();
이렇게 사용할 내용을 c++에 정의 해놓고 코틀린 내부에서 호출해서 직접 사용 하면 됩니다.
728x90
'프로그래밍 > 안드로이드+코틀린' 카테고리의 다른 글
[Manifest] 매니페스트 메타데이터 읽어 오기 (0) | 2023.10.31 |
---|---|
[Layout] Corner radius 적용하기 (0) | 2022.11.15 |
[Kotlin] 랜덤 함수 사용하기. (0) | 2022.11.11 |
PIP 간단한 예제 ( Picture In Picture ) (0) | 2022.11.07 |
[Layout 기초] 안드로이드 크기 단위 정리 (0) | 2022.10.03 |