Part2
JNI数据转换成C数据
e.g. jstring - GetStringUTFChars(), NewStringUTF(), ReleaseStringUTFChars()
1
2
3
4
5
|
JNIEXPORT
void
JNICALL Java_JNISample_sampleFunction(JNIEnv* env, jobject obj, jstring name)
{
const
char
* pname = env->GetStringUTFChars(name, NULL);
env->ReleaseStringUTFChars(name, pname);
}
|
e.g. Array
1
2
3
4
5
6
7
8
9
10
11
12
|
JNIEXPORT jint JNICALL Java_IntArray_sumArray
(JNIEnv *env, jobject obj, jintArray arr) {
jint buf[10];
jint i, sum = 0;
// This line is necessary, since Java arrays are not guaranteed
// to have a continuous memory layout like C arrays.
env->GetIntArrayRegion(arr, 0, 10, buf);
for
(i = 0; i < 10; i++) {
sum += buf[i];
}
return
sum;
}
|
<Refer to> http://ironurbane.iteye.com/blog/425513