본문 바로가기
안드로이드 코틀린

[Kotlin][Android] 이미지 url로 이미지 로딩하기

by teamnova 2022. 1. 10.

이번 포스트에서는 이미지 로딩 라이브러리 Glide를 사용해 url로 이미지를 뷰에 로딩해보겠습니다.

 

 

 

Glide는 아래 링크를 통해 더 자세히 알아보실 수 있습니다.

bumptech/glide: An image loading and caching library for Android focused on smooth scrolling (github.com)

 

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

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

github.com

 

 

 

 

먼저 라이브러리를 gradle에 추가해주겠습니다.

build.gradle

dependencies {
    ...
    implementation 'com.github.bumptech.glide:glide:4.12.0' // 이미지로딩 라이브러리
}

추가 후 아래와 같이 나오는 Sync Now를 반드시 클릭해야 라이브러리가 적용됩니다.

 

 

이미지를 표시할 레이아웃을 만듭니다.

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center"
    android:orientation="vertical"
    tools:context=".MenuActivity">

    <ImageView
        android:id="@+id/imageView"
        android:layout_width="300dp"
        android:layout_height="300dp"
        android:scaleType="centerCrop" />
</LinearLayout>

 

 

 

링크로 아래 이미지를 불러보겠습니다.

https://cdn.pixabay.com/photo/2021/08/03/07/03/orange-6518675_960_720.jpg

MainActivity.kt

val imageView = findViewById<ImageView>(R.id.imageView)
val defaultImage = R.drawable.ic_menu_slideshow
val url = "https://cdn.pixabay.com/photo/2021/08/03/07/03/orange-6518675_960_720.jpg"

Glide.with(this)
    .load(url) // 불러올 이미지 url
    .placeholder(defaultImage) // 이미지 로딩 시작하기 전 표시할 이미지
    .error(defaultImage) // 로딩 에러 발생 시 표시할 이미지
    .fallback(defaultImage) // 로드할 url 이 비어있을(null 등) 경우 표시할 이미지
    .circleCrop() // 동그랗게 자르기
    .into(imageView) // 이미지를 넣을 뷰