JNI——传入与返回String字符串

部分java 代码

声明:
  private native String getLine(String prompt); //若有多个参数,则本地方法在实现的过程中参数顺序必须相同

    
     static
    {
    	//加载本地库
        System.loadLibrary("myjni");
    }


某处调用:
    String resultString = getLine("Hi,C++~C~!");
                	Toast.makeText(getApplicationContext(), resultString, Toast.LENGTH_LONG).show();

 

JNIEXPORT jstring JNICALL Java_com_nan_callback_MyCallbackActivity_getLine
(JNIEnv* env, jobject obj, jstring prompt)
{
	char buf[128];
	const jbyte *str;
	str = (*env)->GetStringUTFChars(env, prompt, NULL);
	if (str == NULL)
		return NULL;
	LOGI("JAVA传给我:%s", str);
	(*env)->ReleaseStringUTFChars(env, prompt, str);
	
	sprintf(buf, "How are you, I am C++!");
	return (*env)->NewStringUTF(env, buf);
}

  

 

 

 

 

posted @ 2014-04-26 17:31  海之涯2008  阅读(2648)  评论(0编辑  收藏  举报