深入理解JNI 邓平凡
2024-10-21 06:43:24
深入理解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的参数)
最新文章
- python序列,字典备忘
- TComboBox; 指定某一行,不给下拉,只读ReadOnly 伪装 实现
- VS使用的一些备忘东西
- 服务器CGI运行机制
- asp.net web.config 设置Session过期时间
- Jedis下的ShardedJedis(分布式)使用方法(一)
- oracle中的sql%rowcount,sql%found、sql%notfound、sql%rowcount和sql%isopen
- [Android Pro] RecyclerView实现瀑布流效果(二)
- NAT原理与NAT穿越
- static方法,属性,代码块初始化顺序和执行顺序
- Java面向对象的概念以及OOP思想的优点
- Python 2.7 学习笔记 中文处理
- 流媒体协议(一):HLS 协议
- head语法
- Bash 中常见的字符串操作
- 自动化CodeReview - ASP.NET Core依赖注入
- linux删除指定创建时间文件(文件夹)脚本
- SqlServer字符串拼接
- 项目IDEA启动配置
- OC 线程操作 - GCD使用 - 栅栏函数