//////
Search
Duplicate

๋ฒ•๊ณผ์ ์‹ฌ

ํ•œ ์ค„ ์†Œ๊ฐœ
ํ•ญ์ƒ ์‹์‚ฌ ๋ฉ”๋‰ด๋ฅผ ๊ณ ๋ฅด๊ธฐ ์–ด๋ ค์šด ํŒ€์—๊ฒŒ ์žฌํŒ์„ ํ†ตํ•ด ๋ฉ”๋‰ด๋ฅผ ๊ณ ๋ฅผ ์ˆ˜ ์žˆ๊ฒŒ ๋„์™€์ฃผ๋Š” Android ์•ฑ
์ง„ํ–‰ ๊ธฐ๊ฐ„
2020/12/21 โ†’ 2021/03/15
๋‹ด๋‹น Skills & ์‚ฌ์šฉ Libraries
Android
Kotlin
ํŒ€ ๊ตฌ์„ฑ
Android ๊ฐœ๋ฐœ์ž 2, ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์ž 1, ๋””์ž์ด๋„ˆ 2, ๊ธฐํš์ž 1
Related to Awards (Property)

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์˜ ๊ณตํ†ต์ ์ธ ์†์„ฑ์„ ํŽธ๋ฆฌํ•˜๊ฒŒ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.