안드로이드 개발 질문/답변
(글 수 45,052)
지난번에도 질문을 올렸습니다...
원인을 알았습니다.
byte[]에서 bitmap변환이 안됩니다.
우선 ksoap2를 통해 string을 받아오고 이 string을
byte[] b = EncodingUtils
.getBytes(resultString.toString(), "BASE64");
.getBytes(resultString.toString(), "BASE64");
위와 같이 하여 byte[]로 변환했습니다.
그후 byte[]를 bitmap으로 변환을 하는데..
ByteArrayInputStream in = new ByteArrayInputStream(b, 0, b.length); // byte[]을 비트맵으로 변환 bmp = BitmapFactory.decodeStream(in);
ByteArrayInputStream in = null; in.read(b); // byte[]을 비트맵으로 변환 bmp = BitmapFactory.decodeStream(in);
ByteArrayInputStream in = null; in.read(b); // byte[]을 비트맵으로 변환 bmp = BitmapFactory.decodeByteArray(b, 0, b.length);
위의 3가지 방법으로 해봣습니다...
3가지 방법 전부 bmp에는 null이 들어갑니다...
왜 이렇게 되는걸까요?? 해결법좀 알려주세요..ㅠ
2011.11.23 15:08:43
자문 자답
이틀에 걸쳐 겨우겨우 해결방법을 찾았습니다.
string에서 byte[]로 형변환 과정인데요...
EncodingUtils을 통해 변환하는 것이 아니고 아래의 사이트에서 해결 방법을 찾았습니다.
http://androidcodemonkey.blogspot.com/2010/03/how-to-base64-encode-decode-android.html
저와 같은 상황이 일어나시는 분들 참고 하시기 바랍니다.




가장 먼저 테스트 하실점은 바이트 배열을 파일로 쓰신다음에... 그 파일을 PC에서 열어보세요.
그게 열리지 않는다면 아마도 아무리 해도 안될겁니다.