请教一下,我是ANDROID开发新手,现在有一个程序要移植到ANDROID,这个程序有一个接口如下:void sendData(unsigned char * data, int size);然后我写的JNI接口如下:sendData(JNIEnv* env, jobject thiz, jbyteArray data, jint size);这样写对吗? 如果是对的,我怎么把jbyteArray转换成unsigned char * ?sendData(JNIEnv* env, jobject thiz, jbyteArray data, jint size)
{
unsigned char * buff = new unsigned char[size]; // 这里怎么把data转换成 unsigned char *并复制到 buff里面去?
}
{
unsigned char * buff = new unsigned char[size]; // 这里怎么把data转换成 unsigned char *并复制到 buff里面去?
}
解决方案 »
- help!!在线等待解答。关于EntityUtils.toString(httpResponse.getEntity(),"UTF_8")。
- 新浪微博KEY 坐等高手!!!
- 如何在android模拟器中导入搜狗输入法?
- SQLite存储桌面控件的数据库是什么?在线等...
- Android关于点击图片出现按钮的问题
- android 虚拟机 cpu50%
- 请问程序生成的TextView如何指定style ?
- NDK r5
- 关于一个研发板PCM音频移植的问题,在真机上听起正确,但在研发板子上会出现卡的情况,大概是什么原因?
- android在线点餐服务端报错
- Paint.setTextSize与TextView.setTextSize传入的单位一致否?
- List<Map<String,String>>中的关键字查找问题
unsigned char* as_unsigned_char_array(JNIEnv *env, jbyteArray array)
{
int len = env->GetArrayLength (array);
unsigned char* buf = new unsigned char[len];
env->GetByteArrayRegion(array, 0, len, reinterpret_cast<jbyte*>(buf)); return buf;
}
jbyteArray as_byte_array(JNIEnv *env, unsigned char* buf, int len)
{
jbyteArray array = env->NewByteArray(len);
env->SetByteArrayRegion(array, 0, len, reinterpret_cast<jbyte*>(buf)); return array;
}