[Android | Kotlin] Glide

sasy0113·2021년 4월 10일
2

들어가기 전에


Glide란

안드로이드 스튜디오를 통해 개발을 하다보면 로컬 갤러리나 서버 통신을 통해 url을 받아 이미지로 보여줘야 할 것이다.

이미지 url을 이미지로 변환시켜 주는 라이브러리 중 하나가 Glide이다.

Glide는 이미지 로딩 프레임워크이다. Glide는 이미지, 영상 썸네일, GIFs를 가지오거나, 디코딩, 보여줄 수 있다. 빠르고 유능하다는 점 덕분에 많은 개발자들에게 인기 있는 이미지 로딩 프레임워크이다.


초기 설정


Gradle 의존성 추가

implementation 'com.github.bumptech.glide:glide:4.12.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.12.0'

Glide를 사용하기 위해서 Gradle 파일에 위의 의존성을 추가해준다.

통신을 통해서 이미지 url을 받아와야 한다면, AndroidManifest.xml에 인터넷 사용권한을 추가해준다.

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



사용법


먼저 사진을 띄워줄 ImageView를 xml파일에 만들어준다.

<ImageView
        android:id="@+id/iv_test"
        android:layout_width="200dp"
        android:layout_height="300dp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

기본적인 사용 방법은 매우 간단하다.

예시 코드를 보자.

import com.bumptech.glide.Glide

class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        Glide.with(this)
            .load("https://media.vlpt.us/images/sasy0113/post/f7085683-1a62-4ce7-9f7f-e8fd2f3ec825/Android%20Kotlin.jpg")
            .into(findViewById(R.id.iv_test))
    }
}

with() 메서드는 Context, Activity, Fragment, View를 파라미터로 받고

load()는 Bitmap, Drawable, String, Uri, File 등의 이미지 정보를 가지고 있는 객체를 파라미터로 받고

마지막 into()는 이미지를 넣을 ImageView를 파라미터로 받아준다.

정리하면 with은 Context 객체를 가져와주고 load는 이미지를, into는 그 이미지를 ImageView에 넣어주는 역할을 한다.


그 외 기능


load()가 반환한 RequestBuilder에는 이미지 처리에 대한 다양한 기능이 있다.

  • placeholder(): 이미지가 로딩 중일 때 보여줄 이미지를 넣을 수 있다.
  • error(): 에러가 났을 때 이미지를 보여줄 수 있다.
  • fallback(): 이미지가 null일 때, 보여줄 이미지를 넣을 수 있다.




참고

profile
대구소프트웨어마이스터고등학교 5기 안드로이드 개발자

2개의 댓글

comment-user-thumbnail
2021년 6월 3일

좋은 글 감사합니다! 혹시 Web TS에 대한 글도 생각 있으신가요?

1개의 답글