JNI的一些工具函数
来源:互联网 发布:linux touch 编辑:程序博客网 时间:2024/04/27 22:04
#include "toolkits.h"namespace io{ //将字符串转化为jbyte数组 static jbyteArray getByteArray(JNIEnv *env,const char *buf,len) { jbyteArray byteArray = env -> NewByteArray(len); const jbyte *bytes = (const jbyte*)buf; env -> setByteArrayRegion(byteArray,0,len,bytes); return byteArray; } //将字符串转化为jchar数组 static jcharArray getCharArray(JNIEnv *env,const char *buf,int len) { nlen = len + sizeof(jchar) -1 / sizeof(jchar); const jchar *nbuf = (const jchar *) buf; jcharArray chars = env -> NewCharArray(nlen); env -> SetCharArrayRegion(chars,0,nlen,nbuf); } //将jchar数组转化为字符串 static const char * getCharPointer(JNIEnv *env,jcharArray chars) { jchar *buf = env -> GetCharArrayElements(char,JNI_FALSE); if(!buf) { return NULL; } return (const char *) buf; } //将jbyte转化成字符串 static const char * getCharPointer(JNIEnv *env,jbyteArray bytes) { jbyte *buf = env -> GetByteArrayElements(bytes,JNI_FALSE); if(!buf) { return NULL; } return (const char *) buf; } //将jstring转化成string static string getString(JNIEnv *env,jstring javaString) { const char * str = env -> GetStringUTFChars(javaString,JNI_FALSE); string ret = string(str); env -> ReleaseStringUTFChars(javaString,str); return ret; } //将string转化成jstring static jstring getJString(JNIEnv *env,string str) { return getString(env,str.c_str(),str.length()); } //将字符串转化成jstring static jstring getJString(JNIEnv *env,const char *buf,int len) { return env -> NewStringUTF(buf); } static void printHex(const char *buf,int len) { char temp[len * 2 + 1]; memset(temp,0,len * 2 + 1); for(int i = 0; i < len; i++) { sprintf(temp + i,"%02x",buf[i]); } }}
0 0
- JNI的一些工具函数
- JQuery的一些工具函数
- JNI的一些使用
- JNI的一些解释
- JavaScript继承的一些工具函数
- matlab中数理统计的一些工具函数
- 辣子工具LSUtils:一些好玩的函数
- 收集的一些原生Js工具函数
- 一些工具函数
- JSP一些工具函数
- 一些工具函数--JSONHelper
- 一些工具函数--WordDocHelper
- 关于VS 使用GDB工具调试ADT下JNI时遇到的一些问题的解决
- android jni的一些总结
- 关于JNI的一些笔记
- JNI使用的一些实现
- 原生Javascript写的一些常用的工具函数
- 一些自定义的Lua常用的工具函数
- Debug 集子
- brk()和sbrk()使用方法解析
- AutoLayout 自动布局
- ext4.0分页条件查询
- IOS开发之路
- JNI的一些工具函数
- PCB布线规范(华为)
- 搭建 Apache Http Server 服务器
- 回顶部
- linux并发控制
- Android开发中常用的工具类
- Mac开发者必备实用工具推荐
- 最长回文的五种实现(js代码实现)
- 关于硬链接和软连接(符号链接)的区别