android jni 将BYTE* 和 jbyteArray 之间的转换
今天,简单讲讲如何在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 strInjbyte * 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 之间的转换就讲完了。
就这么简单。
android jni 将BYTE* 和 jbyteArray 之间的转换相关推荐
- java中byte,String,InputStream之间的转换
Java代码 import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.I ...
- 序列化之对象,字符串,byte数组,XML之间的转换(一)
工作一年多了,越来越感到自己不能这样一直下去,在最好的青春里面却已经死了.被时间消磨了意志,被工作杀死了精神.我想,我只要活着,我就要去不断的要求自己,不断的去追求更高的山峰. 放眼四周,有趣的灵魂越 ...
- C# 对象、文件与二进制串(byte数组)之间的转换
1.关于本文 在使用C#下的TCP(类TcpClient).UDP(类UdpClient)协议传输信息时,都需要将信息转换为byte类型的数组进行发送.本文实现了两种object与byte数组的转换和 ...
- C# Object与二进制串(byte数组)之间的转换
话不多说,看连接 这里是连接 [1]: 转换一. [2]: 转换二.
- android jni (jni_onload方式)
一.简述 JNI(Java Native Interface)Java本地接口,是为方便java调用C或者C++等本地代码所封装的一层接口.由于Java的跨平台性导致本地交互能力不好,一些和操作系统相 ...
- android图片转换为二进制流,Android图片二进制与Bitmap、Drawable之间的转换
Android图片二进制与Bitmap.Drawable之间的转换 Java代码 public byte[] getBitmapByte(Bitmap bitmap){ ByteArrayOutput ...
- java byte数组转化为流_java中字节数组和字符串、IO流和字节数组之间的转换
在实际开发中经常会碰到乱码问题: 首先查看系统支持的编码方式,默认的编码方式 //检查java支持的编码 System.out.println(Charset.availableCharsets(). ...
- java byte转16进制_Java 十六进制(Hex)与byte数组之间的转换
一.十六进制(Hex)与字节(byte)的概念 十六进制(Hex):计算机中数据的一种表示方法,它由0-9,A-F组成,字母不区分大小写.与10进制的对应关系是:0-9对应0-9:A-F对应10-15 ...
- Android JNI学习(五)——Java与Native之间如何实现相互调用
本章将讲述Java与Native之间如何实现相互调用.我将围绕围绕如下三点来讲解. #mermaid-svg-qeVnGlVrLWrB5ryX .label{font-family:'trebuche ...
最新文章
- 扩增子和宏基因组数据分析流程和可视化方案—刘永鑫(南京,2020年11月27日)
- 北京联通限制上传到电信网络服务器
- Mysql报错时区错误invalid timezone
- wpf绑定之格式化日期
- weak和assign的区别
- nginx平滑升级至最新版的nginx-1.9.5
- 多元统计分析最短距离法_多元统计分析(11个常见的多变量分析方法)
- git push或git pull等其他git命令 出现unable to access ‘https://gitee.com/你的git仓库地址)清除网络代理
- Excel复制的数据到文本文件里面有 双引号
- UFR II、PCL、PostScript打印机驱动区别
- 手机扫码登陆网页的原理实现
- 【delphi】各大平台短信功能控件实现(含源代码、演示程序、帮助)
- 惊闻母校徐兵老师英年早逝
- oracle 查看回收站空间,ORACLE 回收站当前状态查询整理
- 网络系统设计过程中,物理网络设计阶段的任务是(70)。【答案】A
- Zabbix5系列-监控华为、H3C交换机(snmpv2c/snmpv3/snmptrap) (二)
- Cannot assign requested address错误解决
- 【English】十一月英语总结
- PyQt5 第二章 窗口布局管理(二)
- 献给初学iOS的小盆友们——微博app项目开发之七第一次获取微博数据