Glide 알아보기!

현빈·2021년 5월 30일
6

Android

목록 보기
2/4
post-thumbnail

시작하기 전에!


🤔 Glide란?

  • 구글이 공개를 한 이미지 라이브러리
  • 안드로이드의 빠르고 효과적인 오픈소스 미니어 매니지먼트 및 이미지 로딩 프레임워크

🤔 Glide의 장점은?

  • 사용 방법이 간단하다.
  • 확장성이 넓다.
  • ImageView가 생긴 후에 이미지 로딩을 시작하여 View크기의 리소스를 지원함.
  • 이미지 로딩 속도가 빠르다.
  • Drawable에 있는 이미지 파일 뿐 만이 아닌 URL로도 이미지 로딩이 가능합니다.

Glide 사용 방법


종속성 추가하기


implementation 'com.github.bumptech.glide:glide:4.12.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.12.0'
  • 위의 종속성을 Gradle 파일에 추가해줍니다.

주의점!


  • URL을 통하여 이미지를 불러올 것이라면 인터넷 권한을 추가해줍니다.
<uses-permission android:name="android.permission.INTERNET" />

기본 사용 방법


val testImageView: ImageView = findViewById(R.id.imageView)

Glide.with(context) 
	.load("이미지 url") 
	.into(testImageView)
  • load 메서드의 이미지 URL이 들어가는 부분은 URI, Drawable 파일로 대체 가능합니다.

다른 사용 방법 1 : PlaceHolder 메서드


Glide.with(context)
     .load("https://i.pinimg.com/736x/68/94/93/6894931eb3e93f6d6ef2dd000d8acdc6.jpg")
			// 위의 이미지 주소로 들어가시면 아주 귀여운 고양이 사진이 나옵니다!
     .placeholder(R.mipmap.ic_launcher)
     .into(testImageView);
  • placeholder() 메서드에 이미지가 로딩되기 까지 보여줄 이미지의 주소를 넣어줍니다.
  • error() 메서드는 이미지를 불러올 수 없는 등의 오류가 생겼을 때 기본으로 보여줄 이미지의 주소를 넣어줍니다.

다른 사용 방법 2 : Override 메서드


Glide.with(context)
     .load("https://i.pinimg.com/736x/68/94/93/6894931eb3e93f6d6ef2dd000d8acdc6.jpg")
     .override(600,200)
     .into(testImageView);
  • override() 메서드를 이용하면 X, Y의 크기를 코드에서 지정해줄 수 있습니다.

다른 사용 방법 3 : Error 메서드


Glide.with(context)
     .load("https://i.pinimg.com/736x/68/94/93/6894931eb3e93f6d6ef2dd000d8acdc6.jpg")// 위의 이미지 주소로 들어가시면 아주 귀여운 고양이 사진이 나옵니다!
     .error(R.mipmap.ic_error)        
     //Error상황에서 보여진다.
     .into(testImageView);
  • 특수한 상황에 의해서 이미지가 불러와지지 않을 때에 error() 함수에 있는 이미지의 주소가 ImageView에 띄워집니다.

다른 사용 방법 4 : CenterCrop 메서드


Glide.with(context)
     .load("https://i.pinimg.com/736x/68/94/93/6894931eb3e93f6d6ef2dd000d8acdc6.jpg")
     .override(600,200)
     .centerCrop()
     .into(testImageView);
  • 이미지의 크기가 ImageView의 사이즈보다 클 때에 ImageView 크기에 맞춰 이미지의 중간 부분을 잘라서 스케일링 합니다.

이 외에 참고할 수 있는 사이트 : https://github.com/bumptech/glide

profile
주니어 안드로이드 개발자 황현빈입니다!

0개의 댓글