『Do it! 깡샘의 안드로이드 앱 프로그래밍 with 코틀린』 교재를 바탕으로 정리한 내용입니다.
서버에서 이미지를 내려받을 때 Glide를 이용하면 네트워크 부분 구현 시 Volley나 Retrofit보다 더 쉽고 빠르게 개발 가능
Glide는 Bump라는 앱에서 내부적으로 이용하다가 구글이 인수하여 공개한 라이브러리
모든 종류의 이미지에 사용 가능함
Glide 라이브러리 등록
implementation 'com.github.bumptech.glide:glide:4.12.0'
Glide.with(this)
.load(R.drawable.seoul)
.into(binding.resultview)
val intent = Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI)
intent.type = "image/*"
getGallery.launch(intent)
//갤러리 인텐트
private val getGallery = registerForActivityResult(ActivityResultContracts.StartActivityForResult()) {
if (it.resultCode == RESULT_OK) {
Glide.with(this)
.load(it.data!!.data)
.into(binding.resultview)
}
}
Glide.with(this)
.load(url)
.into(binding.resultview)
Glide.with(this)
.load(R.drawable.seoul)
.override(200, 200)
.into(binding.resultview)
Glide.with(this)
.load(R.drawable.seoul)
.override(200, 200)
.placeholder(R.drawable.loading)
.error(R.drawable.error)
.into(binding.resultview)
Glide.with(this)
.load(url)
.into(object : CustomTarget<Drawable> () {
override fun onResourceReady(
resource: Drawable,
transition: Transition<in Drawable>?
) {
TODO("Not yet implemented")
}
override fun onLoadCleared(placeholder: Drawable?) {
TODO("Not yet implemented")
}
})
Glide.with(this)
.asBitmap()
.load(url)
.into(object : CustomTarget<Bitmap> () {
override fun onResourceReady(
resource: Bitmap,
transition: Transition<in Bitmap>?
) {
TODO("Not yet implemented")
}
override fun onLoadCleared(placeholder: Drawable?) {
TODO("Not yet implemented")
}
})