안드로이드 스튜디오를 통해 개발을 하다보면 로컬 갤러리나 서버 통신을 통해 url을 받아 이미지로 보여줘야 할 것이다.
이미지 url을 이미지로 변환시켜 주는 라이브러리 중 하나가 Glide이다.
Glide는 이미지 로딩 프레임워크이다. Glide는 이미지, 영상 썸네일, GIFs를 가지오거나, 디코딩, 보여줄 수 있다. 빠르고 유능하다는 점 덕분에 많은 개발자들에게 인기 있는 이미지 로딩 프레임워크이다.
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에는 이미지 처리에 대한 다양한 기능이 있다.
참고
좋은 글 감사합니다! 혹시 Web TS에 대한 글도 생각 있으신가요?