티스토리 뷰

반응형

오늘은 이미지 로딩 라이브러리 Glide사용법을 알려드리겠습니다.

흔히 ImageView에 이미지를 넣을때 이미지가 기기 내부 resource 에 존재한다면 쉽게 가능하겠지만 서버에 존재하는 이미지 즉 http 통신을 통해서 가져와야 하는 이미지는 너무 까다롭습니다.

 

Glide는 이모든 고민은 해결해주는 라이브러리입니다.

 

*Glide 깃 주소

github.com/bumptech/glide

 

bumptech/glide

An image loading and caching library for Android focused on smooth scrolling - bumptech/glide

github.com

 

*사용방법

 

gradle에 추가

dependencies {  
implementation 'com.github.bumptech.glide:glide:4.11.0' 
annotationProcessor 'com.github.bumptech.glide:compiler:4.11.0' 
}

 

필수 값

Glide.with(this)
     .load("https://www.youtube.com/s/desktop/34930df8/img/favicon_32.png")
     .into(imageView)

with()

- activity 객체 삽입

 

load()

- 뿌리고자 하는 이미지 url 경로 

 

into()

- 이미지뷰 

 

* 위 세개는 필수로 넣어줘야 하는 값들이고 아래는 추가할수있는 기능들입니다.

 

error()

- 오류가 났을때 보여줄 이미지(이때는 리소스에 있는 이미지를 넣어줘야함)

 

placeholder()

- 이미지를 로딩하는 동안 보여줄 이미지 

 

override()

- 이미지가 클때 원하는 사이즈로 잘라서 가져올수있음(속도가 빨라짐)

 

asGif()

- gif 이미지 뿌려줄수있음

 

diskCacheStrategy()

- 디스크 캐시를 저장 설정, 캐시를 저장해놓으면 같은 url 경로면 캐시에서 이미지를 가져온다

- 단 url경로에 이미지가 바뀌었을때 바뀐 이미지로 나오지가않음(캐시에서 가져오기때문)

- DiskCacheStrategy.DATA

- DiskCacheStrategy.NONE 등등..

 

finCenter()

- ImageView의 ScaleType fitCenter 와 같은기능

 

transform()

- 이미지뷰의 모양을 바꿀수있다.

 

* 서버 이미지를 비트맵으로 변환

Glide.with(this)
     .asBitmap()
     .load(url)
     .into(new CustomTarget<Bitmap>() {
        @Override
        public void onResourceReady(@NonNull Bitmap resource, @Nullable Transition<? super Bitmap> transition) {
        // 이미지를 비트맵으로 변환 완료
        }

        @Override
        public void onLoadCleared(@Nullable Drawable placeholder) {

        }
      });

이런식으로 이미지를 비트맵으로 변환이 완료가 되었을때 콜백을 받아 작업을 수행할수도 있습니다.

 

이외에도 사용할수있는 기능들이 너무 많지만... 가장 많이 사용하는 기능들만 정리해봤습니다!

더 궁금하신것이 있으면 댓글 남겨주시면 답변드리겠습니다!

 

 

 

 

반응형
댓글