[Android] Glide를 사용하여 ImageView에 사진 불러오기

2022. 7. 3. 20:29·Android/Libraries
반응형

안녕하세요. 이번에는 Glide를 사용하여 이미지를 불러오는 방법을 알아보려고 합니다.

URL, URI 등의 이미지를 ImageView로 바로 불러올 수 있지만 이미지를 원본 상태 그대로 불러오기 때문에 이미지가 많아진다면 리소스를 많이 잡아먹게 되어 앱이 강제적으로 종료되거나 매우 느려질 수 있습니다. 물론 코드를 통해서 이미지를 수정하여 사용할 수 있지만 Glide를 사용하게 되면 효율적이고 간단하게 구현할 수 있기 때문에 매우 많이 사용되는 라이브러리입니다. 또한 캐싱도 자동적으로 처리해주어 재로딩 시 빠르게 이미지를 나타내 줍니다.

 

예제를 만들어보기 전에 Glide의 속성에 대해 알아보도록 하겠습니다.

Glide의 속성
Glide.with(context)							// Context를 가져옴
Glide.load(url, resource, etc)				// 이미지 로드
Glide.into(View)							// 이미지를 설정할 View 지정
Glide.placeHolder(image)					// 이미지를 불러오기 전에 나타낼 이미지 설정
Glide.error(image)							// 로딩에 실패하면 보여줄 이미지 설정
Glide.fallback(image)						// 로딩할 이미지가 없으면 보여줄 이미지 설정
Glide.signature(ObjectKey())				// 이미지 캐시의 해시키값을 지정
Glide.skipMemoryCache = true 				// true시 캐시를 저장하지 않음
Glide.diskCacheStrategy(DiskCacheStrategy)	// 디스크 캐싱 설정(ALL, AUTOMATIC, DATA, NONE, RESOURCE)
											// DiskCacheStrategy.NONE : 캐시 저장하지 않음
                                            // DiskCacheStrategy.ALL : 모두 저장
                                            // DiskCacheStrategy.AUTOMATIC : 자동 저장
                                            // DiskCacheStrategy.RESOURCE : 데이터를 디코딩한 후 캐싱
                                            // DiskCacheStrategy.DATA : 데이터를 디코딩하기 전 캐싱
Glide 예제

이제 예제를 만들어 보도록 하겠습니다.

 

  • Build.gradle(Module)

먼저 Build.gradle(Module)에 Glide 의존성을 추가해 줍니다.

dependencies {
	...
    implementation 'com.github.bumptech.glide:glide:4.12.0'
}

추가한 후 Sync Now를 클릭해줍니다.

 

  • activity_main.xml

레이아웃에 ImageView를 추가 해줍니다.

<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <ImageView
        android:id="@+id/imageView"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />
</androidx.constraintlayout.widget.ConstraintLayout>

 

  • AndroidManifest.xml

Url을 통해 이미지를 불러오려면 INTERNET에 대한 권한이 필요하므로 설정해줍니다.

<uses-permission android:name="android.permission.INTERNET" />

 

  • MainActivity.kt

이제 메인 액티비티에서 Glide를 사용해 오른쪽의 이미지를 불러와 보도록 하겠습니다.

https://blog.kakaocdn.net/dn/b7gKAc/btrF3gQobX4/uMdhkiG6GbnNplDGgLgWKK/img.gif

이미지의 주소는 위와 같습니다.

간단한 예제기 때문에 다른 속성은 사용하지 않고 만들도록 하겠습니다.

class MainActivity : AppCompatActivity() {

    private val binding by lazy { ActivityMainBinding.inflate(layoutInflater) }

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(binding.root)

        Glide.with(this)
            .load("https://blog.kakaocdn.net/dn/b7gKAc/btrF3gQobX4/uMdhkiG6GbnNplDGgLgWKK/img.gif")
            .into(binding.imageView)
    }
}

 

 

위의 코드를 실행해보면 다음과 같은 결과를 얻을 수 있습니다.

위 예제는 아래의 제 github에서 확인하실 수 있습니다!

 

GitHub - won-droid/function

Contribute to won-droid/function development by creating an account on GitHub.

github.com

 

 

이번에는 Glide에 대해 알아보았습니다. 이해가 되지 않거나 다른 궁금한 점, 잘못된 점이 있다면 댓글을 남겨주세요!

반응형

'Android > Libraries' 카테고리의 다른 글

[Android] 안드로이드 Permission(권한) 예제 - 연락처/주소록 만들기 (권한 획득, 연락처 불러오기)  (0) 2022.07.24
[Android] Parcelable 생성 Parcelize로 편하게 생성하기(with Serializable)  (0) 2022.07.24
[Android] 안드로이드 Permission(권한) 종류 및 권한 획득 예제(지문인증 / 생체 인증)  (0) 2022.07.11
[Android] 안드로이드12 대응 SplashScreen(스플래시 스크린) 만들기  (1) 2022.07.09
[Android] Kakao(카카오) SDK를 이용하여 로그인 구현하기 - 로그인  (0) 2022.05.27
'Android/Libraries' 카테고리의 다른 글
  • [Android] Parcelable 생성 Parcelize로 편하게 생성하기(with Serializable)
  • [Android] 안드로이드 Permission(권한) 종류 및 권한 획득 예제(지문인증 / 생체 인증)
  • [Android] 안드로이드12 대응 SplashScreen(스플래시 스크린) 만들기
  • [Android] Kakao(카카오) SDK를 이용하여 로그인 구현하기 - 로그인
W_JIN
W_JIN
안드로이드 개발을 공부하는 3년차 개발자입니다.
  • W_JIN
    W.JIN
    W_JIN
  • 전체
    오늘
    어제
    • 전체 (24)
      • Android (23)
        • Design (10)
        • Libraries (8)
        • Others (5)
      • Flutter (0)
        • Design (0)
        • Libraries (0)
        • Others (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • GitHub
  • 공지사항

  • 인기 글

  • 태그

    종류
    아이콘
    다운로드
    fonts
    android studio
    색상
    parcelize
    contacts
    안드로이드 스튜디오
    사용 방법
    사용방법
    방법
    linear
    constraint
    연락처
    Android
    frame
    권한
    textview
    contact
    뷰
    layout
    COLOR
    iCon
    안드로이드
    레이아웃
    설정
    Grid
    사용법
    permission
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
W_JIN
[Android] Glide를 사용하여 ImageView에 사진 불러오기
상단으로

티스토리툴바