마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

setByteArrayRegion 인자에 대한 질문입니다. jni 관련

0 추천
setByteArrayRegion(JNIEnv *env, ArrayType array, jsize start, jsize len, const NativeType *buf);

라고 함수정의가 되어 있는데요

 

setByteArrayRegion(env, pabuf, 0, 640*480, buffer);  이런식으로 쓰는데요

buffer[640*480], pabuf[640*480] 사이즈로 선언이 되어 잇는 상태인데

첫라인이 필요가 없어서 옵셋으로 640을 줄려고하는데

setByteArrayRegion(env, pabuf, 640, 640*479, buffer); 이렇게 했는데  ArrayIndexOutOfBoundsException 이 나오더라구요

setByteArrayRegion(env, pabuf, 640, 640*480, buffer); 이렇게 써도 인덱스 에러가 납니다.

인자가 start, len 인데 start에 640을 주고 640*479 사이즈를 복사해라고 하면될것 같은데 이게 왜 배열에러가 나는건가요?

setByteArrayRegion(env, pabuf, 0, 640*480,buffer) 이렇게 쓰면 데이터는 다 잘들어옵니다...;;
oblab (1,490 포인트) 님이 2015년 7월 30일 질문

1개의 답변

0 추천

인덱스가 0부터 시작해서,  1을 제거해야 할 겁니다.

setByteArrayRegion(env, pabuf, 639, 640*479, buffer); 로 해보세요

 

 

익명사용자 님이 2015년 7월 30일 답변
2015년 7월 30일 수정
...