jeans chen
we've got them by the balls

深入理解JNI 邓凡平

1)使用的时候 :加载libmedia_jni.so 并接着调用JNI_Onload->register_android_media_MediaScanner动态注册JNINativeMethod数组。

2)通过JNIEnv操作object

  Java的引用类型除了少数几个外,最终在JNI层都会用jobject表述对象的数据类型,

  a)jfieldID jmethodID表示Java类的成员变量和成员函数,通过

    jfieldID GetFieldID(...)

    jmethodID GetMethodID(...)获得

    

    jclass mediaScannerClientInterface = env->FindClass("android/media/MediaScannerClient");//找到android.media.MediaScanner类在JNI层中对用的jclass实例

    mScanFileMethodID=env->GetMethodID(mediaScannerClientInterface,"scanFile","(Ljava/lang/String;JJ)V");

 

  b)mEnv->CallVoidMethod(mClient,mScanFileMethodID,XXX这里是scanFile的参数)

 

posted on 2013-08-30 17:20  jeans chen  阅读(1305)  评论(0编辑  收藏  举报