ndk 数据转换
ndk 数据转换

c->java
| c类型 | java类型 | 办法 | 备注 |
|---|---|---|---|
| string | String | env->NewStringUTF(str.c_str()) | |
| 指针 | Long | Clock *clock=Clock(); long clock_jlong = reinterpret_cast |
java->c
| java类型 | c类型 | 办法 |
|---|---|---|
| jobject | jobject | jobject object; this->object = env->NewGlobalRef(object); 不使用的时候要释放 env->DeleteGlobalRef(object); |
| jstring |
char* jstringToChar(JNIEnv *env, jstring jstr) {
int length = (env)->GetStringLength(jstr);
const jchar* jcstr = (env)->GetStringChars(jstr, 0);
char* rtn = (char*) malloc(length * 2 + 1);
int size = 0;
size = WideCharToMultiByte( CP_ACP, 0, (LPCWSTR) jcstr, length, rtn,
(length * 2 + 1), NULL, NULL);
if (size <= 0)
return NULL;
(env)->ReleaseStringChars(jstr, jcstr);
rtn[size] = 0;
return rtn;
}

浙公网安备 33010602011771号