[Kotlin] ImageView์ setImageURI์, Glide (URL, URI ์ฐจ์ด)
๐ฅบ ๋ฌธ์ ๋ฐ์
private fun setViewData(data : MissingPersonEntity){
binding.image.setImageURI(data.image?.toUri())
binding.id.text = data.id.toString()
binding.name.text = data.title.toString()
binding.desc.text = data.description.toString()
}
data ๊ฐ์ผ๋ก ๋ทฐ๋ฐ์ธ๋ฉ ์์ ์ ํด์ฃผ๋๋ฐ, URI ๋ง ์ธํ ์ด ๋์ง ์์
Why?
์ฌ๊ธฐ์ URI ์ URL ์ ์ฐจ์ด์ ์ ์๊ณ ๋์ด๊ฐ์ผํจ!
URI (Uniform Resource Identifier)
URI๋ ํน์ ๋ฆฌ์์ค๋ฅผ ์๋ณํ๋ ํตํฉ ์์ ์๋ณ์๋ฅผ ์๋ฏธํ๋ค. ์น ๊ธฐ์ ์์ ์ฌ์ฉํ๋ ๋ ผ๋ฆฌ์ ๋๋ ๋ฌผ๋ฆฌ์ ๋ฆฌ์์ค๋ฅผ ์๋ณํ๋ ๊ณ ์ ํ ๋ฌธ์์ด ์ํ์ค๋ค.
URL (Uniform Resource Locator)
URL์ ํํ ์น ์ฃผ์๋ผ๊ณ ๋ ํ๋ฉฐ, ์ปดํจํฐ ๋คํธ์ํฌ ์์์ ๋ฆฌ์์ค๊ฐ ์ด๋ ์๋์ง ์๋ ค์ฃผ๊ธฐ ์ํ ๊ท์ฝ์ด๋ค. URI์ ์๋ธ์ ์ด๋ค.
์๋ฅผ ๋ค์ด http://opentutorials.org:3000/main?id=HTML&page=12 ๋ผ๊ณ ๋์ด์๋ ์ฃผ์๊ฐ ์๋ค.
http://opentutorials.org:3000/main ์ฌ๊ธฐ๊น์ง๋ URL์ด๊ณ (URI์ด๊ธฐ๋ ํ)
http://opentutorials.org:3000/main?id=HTML&page=12 ์ด ๊ฒ์ URI๋ผ๊ณ ํ ์ ์๋ค. (URL์ ์๋)
์ด์ ๋ URL์ ์์์ ์์น๋ฅผ ๋ํ๋ด ์ฃผ๋ ๊ฒ์ด๊ณ URI๋ ์์์ ์๋ณ์์ธ๋ฐ
?id=HTML&page=12 ์ด ๋ถ๋ถ์ ์์น๋ฅผ ๋ํ๋ด๋ ๊ฒ์ด ์๋๋ผ id๊ฐ์ด HTML์ด๊ณ page๊ฐ 12์ธ ๊ฒ์ ๋ํ๋ด์ฃผ๋ ์๋ณํ๋ ๋ถ๋ถ์ด๊ธฐ ๋๋ฌธ์ด๋ค.
ํต์์ ์ผ๋ก URL์ด๋ผ๊ณ ์๊ธฐ๋ฅผ ํ์ง๋ง ์ ํํ๊ฒ๋ URI๋ผ๊ณ ํ๋ ๊ฒ์ด ๋ง์
๐ ๋ฌธ์ ํด๊ฒฐ : Glide ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฌ์ฉ
Glide.with(requireContext())
.load(data.image?.toUri())
.into(binding.image)
TIP : Fragment์์ Context๋ฅผ ์ป์ด์ฌ ๋๋ requireContext()
Glide์ ๊ดํด์๋ ๋ฐ๋ก ํฌ์คํ ์ ์ ๋ฆฌํ๊ฒ ๋ค!
์ถ์ฒ : https://velog.io/@jch9537/URI-URL, https://www.charlezz.com/?p=44767