NDK 에서 입력버퍼값 1개와 정수형 1개를 입력받아서 내부적인 계산후에
출력버퍼값 1개와 정수형 1개를 JAVA 쪽으로 되돌려 줄 수 있는 방법이 있나요 ?
또는 입력 버퍼값 2개를 입력받아서 내부적인 계산후에 출력버퍼값 2개를 되돌려 줄 수 있나요 ?
있다면, 예제를 부탁드립니다.
아래는 입력 버퍼값 1개를 입력받아서 출력 버퍼값 1개를 되돌려 주는 소스입니다.
------------------------------------------------------------------------
c 구현부분
------------------------------------------------------------------------
JNIEXPORT jstring JNICALL Java_com_example_hellojni_HelloJni_test(JNIEnv *env, jclass this_class, jstring message)
{
jstring s;
const char *str = (*env)->GetStringUTFChars(env, message, 0);
/* *str 변환작업 */
s = (*env)->NewStringUTF(env, str);
return s;
}
------------------------------------------------------------------------
java 구현부분
------------------------------------------------------------------------
public class HelloJni extends Activity
{
static {
System.loadLibrary("hello-jni");
}
public static native String test(String tmp);
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
TextView tv = new TextView(this);
tv.setText( test("12345" );
setContentView(tv);
}
}
------------------------------------------------------------------------
jni를 보면 c에서 자바 메소드 호출 방법을 찾을 수 있습니다.