안드로이드 개발 질문/답변
(글 수 45,052)
제가 이미지 파싱을 하려고 합니다.
그리고 성공을 했습니다.
파싱을 풀파서로 이용해서
이미지 주소값을 가지고 리스트에 있는 이미지뷰에다가 맵핑 시켰습니다.
근데 에뮬레이터로 돌리면 이미지들이 다 보여지는데
핸드폰으로 디버그를 시키면
완료가 되었음에도
이미지들이 몇개만 가져오고 나머지는 보여지지 않는 부분이 있습니다.
이 문제를 어떻게 해결해야 할까요??
완료가 되었다는것은 progress를 이용하여서 알 수 있었습니다.
그리고 성공을 했습니다.
파싱을 풀파서로 이용해서
이미지 주소값을 가지고 리스트에 있는 이미지뷰에다가 맵핑 시켰습니다.
근데 에뮬레이터로 돌리면 이미지들이 다 보여지는데
핸드폰으로 디버그를 시키면
완료가 되었음에도
이미지들이 몇개만 가져오고 나머지는 보여지지 않는 부분이 있습니다.
이 문제를 어떻게 해결해야 할까요??
완료가 되었다는것은 progress를 이용하여서 알 수 있었습니다.
2010.11.04 19:51:23
이전 버전의 BitmapFactory.decodeStream 에는 네트워크 커넥션이 느린경우에는 정상적으로 작동하지 않는 버그가 있습니다. 따라서, 결과로 전달 받은 InputStream 을 new FlushedInputStream(inputStream) 으로 생성한 후에 이미지 디코딩을 수행하시는 편이 좋습니다. 이 클래스는 스트림이 끝나지 않은 한, skip() 메서드가 실재로 전달받은 바이트 수 만큼을 건너띄도록 구현되어있습니다.
2010.11.04 19:58:17
InputStream inputStream = null;
try {
inputStream = entity.getContent();
//final Bitmap bitmap = BitmapFactory.decodeStream(inputStream);<--이부분을
FlushedInputStream flushedInputStream = new FlushedInputStream(inputStream);
final Bitmap bitmap = BitmapFactory.decodeStream(flushedInputStream);<-- 위 댓글의 FilterInputStream으로 수정
저도 굴박님 처럼 이미지 중간중간 다운이 안되길래 위와 같이 수정하니 모두 다운이 되더군요. 만약 InputStream으로 다운 받으신다면 위와 같이 수정 해보시고 그래도 안되시면 그 Url의 이미지타입이 온전한 jpg인지 확인 바랍니다.
http://blog.naver.com/PostView.nhn?blogId=huewu&logNo=110090363656&viewDate=¤tPage=1&listtype=0
한번 쭉 훓어 보시면 좋은 정보라 링크시켰습니다.
try {
inputStream = entity.getContent();
//final Bitmap bitmap = BitmapFactory.decodeStream(inputStream);<--이부분을
FlushedInputStream flushedInputStream = new FlushedInputStream(inputStream);
final Bitmap bitmap = BitmapFactory.decodeStream(flushedInputStream);<-- 위 댓글의 FilterInputStream으로 수정
저도 굴박님 처럼 이미지 중간중간 다운이 안되길래 위와 같이 수정하니 모두 다운이 되더군요. 만약 InputStream으로 다운 받으신다면 위와 같이 수정 해보시고 그래도 안되시면 그 Url의 이미지타입이 온전한 jpg인지 확인 바랍니다.
http://blog.naver.com/PostView.nhn?blogId=huewu&logNo=110090363656&viewDate=¤tPage=1&listtype=0
한번 쭉 훓어 보시면 좋은 정보라 링크시켰습니다.