2.3 Java层的MediaScanner分析
最后更新于:2022-04-02 05:48:04
来看MediaScanner(简称MS)的源码,这里将提取出和JNI有关的部分,其代码如下所示:
**MediaScanner.java**
~~~
public class MediaScanner
{
static{ static语句
/*
①加载对应的JNI库,media_jni是JNI库的名字。实际加载动态库的时候会拓展成libmedia_jni.so,在Windows平台上将拓 展为media_jni.dll。
*/
System.loadLibrary("media_jni");
native_init();//调用native_init函数
}
.......
//非native函数
publicvoid scanDirectories(String[] directories, String volumeName){
......
}
//②声明一个native函数。native为Java的关键字,表示它将由JNI层完成。
privatestatic native final void native_init();
......
privatenative void processFile(String path, String mimeType,MediaScannerClient client);
......
}
~~~
上面代码中列出了两个比较重要的要点:1. 加载JNI库,2. Java的native函数
';