android jni 将BYTE* 和 jbyteArray 之间的转换
来源:互联网 发布:mac如何装office 编辑:程序博客网 时间:2024/05/21 06:41
今天,简单讲讲如何在jni中将
BYTE* 转成 jbyteArray。
这个是我在做jni时碰到的问题。因为c传回的值是BYTE*,而返回给java代码是byte[],对应的jni的数据必须是jbyteArray,所以需要转换。在网上搜索了资料,终于是解决了这个问题。
C++中的BYTE[]转jbyteArray //nOutSize是BYTE数组的长度 BYTE pData[] jbyte *by = (jbyte*)pData; jbyteArray jarray = env->NewByteArray(nOutSize); env->SetByteArrayRegin(jarray, 0, nOutSize, by);
这个将C++中的BYTE[]转jbyteArray主要是先用jbyte *强制jbyteArray,然后调用SetByteArrayRegin将jbyte *的数据拷贝到新建的jbyteArray、
jbyteArray 转 c++中的BYTE[] //jbytearray strIn jbyte * olddata = (jbyte*)env->GetByteArrayElements(strIn, 0); jsize oldsize = env->GetArrayLength(strIn); BYTE* bytearr = (BYTE*)olddata; int len = (int)oldsize;
这个将jbyteArray 转 c++中的BYTE[]主要是获取jbytearray 数据后直接强制为BYTE*。
android jni 将BYTE* 和 jbyteArray 之间的转换就讲完了。
就这么简单。
阅读全文
0 0
- android jni 将BYTE* 和 jbyteArray 之间的转换
- Chap8:如何将java传递过来的jbyteArray转换成C/C++中的BYTE数组
- Android JNI JByteArray传递byte数组到Java
- Android JNI JByteArray传递byte数组到Java
- android jni jbyteArray转char*
- android jni c++ jstring和string之间的转换
- Android Drawable、Bitmap、byte[]之间的转换
- Android Drawable、Bitmap、byte[]之间的转换
- Android Drawable、Bitmap、byte[]之间的转换
- Android Drawable、Bitmap、byte[]之间的转换
- android Bitmap,byte[],Drawable之间的转换
- Android Bitmap - Drawable-Byte之间的转换
- Android Drawable、Bitmap、byte[]之间的转换
- Android Drawable、Bitmap、byte[]之间的转换
- Image 和byte[]之间的转换
- Stream 和 byte[] 之间的转换
- Stream 和 byte[] 之间的转换
- Stream 和 byte[] 之间的转换
- android——本地相机上传头像
- VB机房收费系统05——一般用户模块逻辑问题总结
- Flex中List自己定义itemrenderer渲染问题的解决
- Backbone.js 显示Collection里面的一个元素
- Spring AOP详解
- android jni 将BYTE* 和 jbyteArray 之间的转换
- Sublime Text 3 全程详细图文使用教程
- 多条目展示+视频播放
- AMP对发布商和电子商务的总体经济影响力
- lxc常见命令
- DIY申请PHD
- @EnableAutoConfiguration注解
- ALGO-53最小乘积(基本型)
- c语言中while语句括号内加逗号的用法