转自:http://blog.csdn.net/geolo/article/details/6168536
(Ljava/lang/String;I)V 其中本句
I = Integer
B = Byte
S = Short
C = Char
LXXX; = L加上类名
3. 在JNI下面,我们常用的命名方式:
static JavaVM *g_VM; //全局环境指针
static jclass jNativesClass;
(*env)->GetJavaVM(env, &g_VM); //获取env环境指针,这样以后用g_VM就可以了。
4. jobjectArray jargv // java数组
int getArrayLen(JNIEnv * env, jobjectArray jarray): //获取一个Java数组长度,返回为jsize类型
jstring jele = (jstring)(*env)->GetObjectArrayElement(env, jargv, n); //从将Java数组元素n转为本地的jstring
const char *word = (*env)->GetStringUTFChars(env, jele, 0); //将java的utf字符转为c下面的char*
5. 记住释放内存,这不是java
(*env)->ReleaseStringUTFChars(env, jele, word);
6. 有关Java类命名方式
(Ljava/lang/String;I)V 其中本句
I = Integer
B = Byte
S = Short
C = Char
LXXX; = L加上类名
7. JNI本身没有什么技术含量,Android123提醒大家,会C语言的网友只需要知道Java和C/C++中如何通过JNI相互传输数据即可。
8. JNI和Java如何传递大型数据呢,其实变通的方法可以通过共享一个文件方式处理一些大型数据。