JNI的某些数组和字符串类型转换(转)

来源:互联网 发布:迪士尼影业 知乎 编辑:程序博客网 时间:2024/06/09 19:50
 JNICC++C#Windows
jbytearray转c++byte数组
C代码 复制代码 收藏代码


jbyteArray 转 c++中的BYTE[]
C代码 复制代码 收藏代码


C++中的BYTE[]转jbyteArray
C代码 复制代码 收藏代码


jbyteArray 转 char *
C代码 复制代码 收藏代码

char* 转jstring
C代码 复制代码 收藏代码


下面这个没有用过,刚看到,也写进来,以后如果遇到可以验证下看。

jstring 转 char* 或者 const char*
C代码 复制代码 收藏代码


JNI 返回 jbyteArray
C代码 复制代码 收藏代码


//jstring to char*
C代码 复制代码 收藏代码


//char* to jstring
C代码 复制代码 收藏代码


//将jstring类型转换成windows类型
C代码 复制代码 收藏代码

//将windows类型转换成jstring类型
C代码 复制代码 收藏代码



jni object的使用

每一个jni格式的dll中的object对应该java里面的一个类。
如下例有一个 ObjData类,类中有成员bData ,Len
public class ObjData {
  public byte[]  bData;
  public int Len;       
}
//------------------------jni获得传过来的Object类型的变量objDataIn--------

jclass clazz =(env)->FindClass("ObjData");

//从传进来的对象中取出byte[]
C代码 复制代码 收藏代码

//byte[]转为BYTE[]
C代码 复制代码 收藏代码



//将BYTE数组转为jarray
C代码 复制代码 收藏代码


//给每一个实例的变量付值
C代码 复制代码 收藏代码


其他参考:
Java 通过JNI调用C或者CPP代码
http://blog.csdn.net/kenera/archive/2009/02/16/3895343.aspx
http://apps.hi.baidu.com/share/detail/15732549
http://dniit.blog.163.com/blog/static/28012894200842810332491/
http://hi.baidu.com/liangwind/blog/item/7dcce2c9729d1d1e7f3e6f49.html
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 铝合金门有划痕怎么办 纯棉床单染色了怎么办 红色硅胶壳变黑怎么办 家里有个蜂窝怎么办 入户网线断了怎么办 网线头断了怎么办 手关节粗大臃肿怎么办 墙内线路短路怎么办 电线空调带不动怎么办 手机占用内存大怎么办 wps占用内存大怎么办 摩托头盔太大了怎么办 摩托车头盔大了怎么办 公路头盔大了怎么办 电动车头盔大了怎么办 路由器登陆密码忘记了怎么办 电脑忘记登录密码怎么办 农村信用社登录密码忘记怎么办 住房公积金登录密码忘记怎么办 oppo手机进入fastboot怎么办 华为nova2进水了怎么办 华为mate9进水了怎么办 华为p9外屏碎了怎么办 华为p9水蒸气了怎么办 华为p9被雨淋了怎么办 华为p9内屏坏了怎么办 华为p9运行慢怎么办 华为p9越来越卡怎么办 荣耀9玩游戏卡怎么办 华为mate9卡顿怎么办 华为nova2s玩游戏卡怎么办 华为p9声音小怎么办 华为玩游戏卡顿怎么办 文件夹照片删了怎么办 电脑文件夹删了怎么办 书包买大了怎么办 证券账号忘记了怎么办 资金账号忘记了怎么办 支付宝无法支付怎么办 支付宝不能付款怎么办 支付宝充值话费没到账怎么办