티스토리 뷰



Glide 라이브러리를 사용하게 되면 기본적으로 비동기적으로 많이 사용하지요. 실무에서 바로 적용가능한 ImageView에 로드할 수 있는 방법을 소개합니다.

Asychronous - 기본 출력

Glide.with(MainActivity.this).load("http://test.io/test.jpg").into(mImageView);

Asychronous - Bitmap 핸들링하여 출력하기

Glide.with(MainActivity.this).load("http://test.io/test.jpg").asBitmap().
into(new SimpleTarget<Bitmap>() {
    @Override
           public void onResourceReady(Bitmap resource, GlideAnimation<? super Bitmap> glideAnimation) {
               mImageView.setImageBitmap(resource);
           }
});

Synchronous - 기본 출력

try {
    Bitmap bitmap = Glide.with(MainActivity.this).load("http://test.io/test.jpg").
asBitmap().into(100, 100).get();
} catch (InterruptedException e) {
    e.printStackTrace();
} catch (ExecutionException e) {
    e.printStackTrace();
}
 
mImageView.setImageBitmap(bitmap);

Synchronous - 타임아웃 처리

try {
    Bitmap bitmap = Glide.with(MainActivity.this).load("http://test.io/test.jpg").asBitmap().
into(100, 100).get(5000, TimeUnit.MILLISECONDS);
 
mImageView.setImageBitmap(bitmap);
} catch (TimeoutException e) {
    e.printStackTrace();
    // 타임아웃에 대한 핸들링
} catch (ExecutionException e) {
    e.printStackTrace();
} catch (InterruptedException e) {
    e.printStackTrace();
}


댓글
댓글쓰기 폼