Link
source
ํ๋ก์ ํธ ์ค๋ช
โ๋ฒ๊ณผ ์ ์ฌโ์ ๋ฉ๋ด์ ์ ์ ์ด๋ ค์์ ๊ฒช๋ ํ์ ์ํด ์ ์ ์ฌํ์ด ํ๊ฒฐ์ ๋ด๋ ค์ฃผ๋ Android ์ฑ์
๋๋ค. ํ DOT์ ์ค์ํ์ ๋ถํธํ ์ ์ ์ ๋จธ๋ฌ์คํ๊ณ ๊ฒ์์ ์ธ ์์๋ฅผ ํตํด ํด๊ฒฐํ๊ณ ์ ํ์์ต๋๋ค.
ํ์/๋นํ์ ๋ก๊ทธ์ธ์ ํตํด ์ฑ์ ์คํํ ์ ์์ผ๋ฉฐ ์ํ๋ ๋ฉ๋ด์ ์นดํ
๊ณ ๋ฆฌ๋ฅผ ์ ํํฉ๋๋ค. ๋ฉ๋ด๋ฅผ ์ ํํ ํ์์ ์ฌํ์ฅ์ ๋ค์ด๊ฐ ๋ค๋ฅธ ํ์์ด ๊ณ ๋ฅธ ๋ฉ๋ด๋ฅผ ๋ณผ ์ ์์ผ๋ฉฐ, ๋ฉ์ธ์ง ๋ฒํผ ํด๋ฆญ์ ํตํ ๊ฐ๋จํ ์ฑํ
์ด ๊ฐ๋ฅํฉ๋๋ค. ํ๊ฒฐ ๋ฒํผ์ ๋๋ฅด๋ฉด ๋๋ค์ผ๋ก ๊ฐ์ ํ์ฌ๊ฐ ๋ฉ๋ด๋ฅผ ์ ํํ๊ณ , ํด๋น ๋ฉ๋ด๊ฐ ์๋ ๊ทผ์ฒ ์๋น์ ์ฐพ์ ์ ์์ต๋๋ค.
์ฌ์ฉ ๊ธฐ์ ๋ฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ
โข
Android, Kotlin, Retrofit2
๋ด๋นํ ๊ธฐ๋ฅ (Android)
โข
ํ์๊ฐ์
/๋ก๊ทธ์ธ ๊ธฐ๋ฅ ๋ฐ UI
โข
RecyclerView๋ฅผ ์ด์ฉํ ์ฑํ
๊ธฐ๋ฅ ๋ฐ UI
๊นจ๋ฌ์ ์
โข
Retrofit2๋ OkHttp ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์์ ๊ตฌํ์ฒด๋ก REST API ํต์ ์ ์ํด ๊ตฌํ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ด๋ค.
โฆ
REST API๋ก ๋ฐ์์จ ๋ฐ์ดํฐ๋ฅผ ๋ณํํ์ฌ ๋งคํํ DTO ํด๋์ค๋ฅผ ์ ์ธํด์ผ ํ๋ค.
โฆ
Request๋ก ๋๊ฒจ์ฃผ๋ ๋ฐ์ดํฐ๊ฐ JSON ํ์์ธ ๊ฒฝ์ฐ์๋ @Body
โข
โkotlin-android-extensionsโ ํ๋ฌ๊ทธ์ธ์ deprecated๋์๋ค.
โข
View Binding๋ findViewById ๋ฅผ ์ฌ์ฉํ์ง ์๊ณ XML์ view component์ ์ ๊ทผํ๋ object๋ฅผ ๋ฐํ๋ฐ์ view์ ์ ๊ทผํ๋ ๋ฐฉ์์ด๋ค.
โฆ
inflate() ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ Activity์์ ์ฌ์ฉํ ๋ฐ์ธ๋ฉ ํด๋์ค์ ์ธ์คํด์ค๋ฅผ ์์ฑํ๋ค.
โฆ
๋ฐ์ธ๋ฉ ํด๋์ค์ getRoot() ๋ฉ์๋๋ฅผ ํตํด ๋ ์ด์์ ๋ด ์ต์์ View์ ์ธ์คํด์ค๋ฅผ ์ป๋๋ค.
โฆ
setContentView() ๋ฉ์๋์ ์ด์ ๋จ๊ณ์์ ํ๋ํ ์ต์์ View์ ์ธ์คํด์ค๋ฅผ ๋๊ฒจ์ค๋ค.
โข
SharedPreference๋ ์๋์ ๋ฐ์ดํฐ๋ฅผ key-value ์์ผ๋ก ๊ธฐ๊ธฐ์ ํ์ผ๋ก ์ ์ฅํ ์ ์๊ฒ ํด์ค๋ค. ์ฑ์ด ๋ฉ์ถ๊ฑฐ๋ ๋ค์ ์์๋๋ ๊ฒฝ์ฐ, ๊ธฐ๊ธฐ๊ฐ ๋ค์ ์์๋๋ ๊ฒฝ์ฐ์๋ ๋ฐ์ดํฐ๊ฐ ์์์ ์ผ๋ก ๋ณด๊ด๋๋ฏ๋ก ์ผ๋ฐ์ ์ผ๋ก ์ ์ ์ preference๋ฅผ ์ ์ฅํ๋ ๋ฐ์ ์ฌ์ฉ๋๋ค.
โข
style.xml์ ์ด์ฉํ๋ฉด ํ๋ฉด์ ๋ฐฐ์น๋๋ View์ ๊ณตํต์ ์ธ ์์ฑ์ ํธ๋ฆฌํ๊ฒ ์ง์ ํ ์ ์๋ค.