안드로이드 인터넷 이미지 비동기 다운로드
보통, 인터넷에서 이미지를 다운로드 하는 코드를 아래와 같이 사용하는 경우가 종종 있었다.
그러나 잘못된 사용방법이라고 한다.
잘못된 사용 예
URL url = new URL(imageUrl);
bitmap = BitmapFactory.decodeStream(url.openStream());
이미지 주소로 URL 객체를 만든 후, BitmapFactory의 decodeStream( )의 인자로써 생성한 URL객체의 openStream( ) 메서드를 호출하고 있다.
그러나, 아래와 같은 방법으로 사용하는 것이 올바른 사용 방법이라고 한다.
올바른 사용 예
HttpGet httpRequest = new HttpGet(URI.create(imageUrl) );
HttpClient httpclient = new DefaultHttpClient();
HttpResponse response = (HttpResponse) httpclient.execute(httpRequest);
HttpEntity entity = response.getEntity();
BufferedHttpEntity bufHttpEntity = new BufferedHttpEntity(entity);
InputStream instream = bufHttpEntity.getContent();
bitmap = BitmapFactory.decodeStream(instream);
마지막의 BitmapFactory.decodeStream( ) 메서드 사용은 동일하다.
그러나, 입력하는 parameter가 다름에 주목하자.
'개발자의 기록 노트 > Android' 카테고리의 다른 글
[안드로이드] 서로다른 Activity 사이에 Parcelable사용하여 데이터/객체 전달 및 받는 방법 (0) | 2010.12.30 |
---|---|
[안드로이드] 이미지와 텍스트가 같이 들어간 버튼 만들기 (0) | 2010.12.30 |
[안드로이드] Bitmap 과 ByteArray 상호변환 (0) | 2010.12.27 |
[안드로이드] 증강현실 구현을 위한 기초 개념, 벡터(Vector)와 노름(Norm) (0) | 2010.12.25 |
[안드로이드] 안드로이드 화면이 회전될 때 어플리케이션 개발자가 주의해야할 점 (0) | 2010.12.25 |
[안드로이드] 카메라 해상도 바꾸기 (0) | 2010.12.21 |