์ฑ„๋„ํ†ก ์•„์ด์ฝ˜
BEST

[์ค‘๊ธ‰ํŽธ] ์นœ์ ˆํ•œ JETPACK ๊ฐœ๋ก  <์ƒ> (Android Kotlin)

์ฝ”ํ‹€๋ฆฐ์œผ๋กœ ์•ˆ๋“œ๋กœ์ด๋“œ ๊ฐœ๋ฐœ์„ ์œ„ํ•œ ์ ฏํŒฉ(JETPACK) ๊ฐœ๋ก ์ž…๋‹ˆ๋‹ค. ์•ˆ๋“œ๋กœ์ด๋“œ ๊ฐœ๋ฐœ์„ ํ•˜๋ฉด์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋‹ค์–‘ํ•œ ํ…Œํฌ๋‹‰์„ ์—ฐ์Šตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Thumbnail

์ค‘๊ธ‰์ž๋ฅผ ์œ„ํ•ด ์ค€๋น„ํ•œ
[๋ชจ๋ฐ”์ผ ์•ฑ ๊ฐœ๋ฐœ] ๊ฐ•์˜์ž…๋‹ˆ๋‹ค.

์ด๋Ÿฐ ๊ฑธ ๋ฐฐ์šธ ์ˆ˜ ์žˆ์–ด์š”

  • ViewBinding / DataBinding / ViewModel / LiveData

  • Retrofit

  • ์•ฝ๊ฐ„์˜ ์ฝ”๋ฃจํ‹ด(Coroutine)

  • ROOM

  • WorkManager

  • Navigation

์นœ์ ˆํ•œ JETPACK ๊ฐ•์˜!

์•ˆ๋“œ๋กœ์ด๋“œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ,
Jetpack์„ ๋ฐฐ์›Œ๋ณผ๊นŒ์š”?

Jetpack์€ ๊ฐœ๋ฐœ์ž๊ฐ€ ๊ด€์‹ฌ ์žˆ๋Š” ์ฝ”๋“œ์— ์ง‘์ค‘ํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ถŒ์žฅ์‚ฌํ•ญ ์ค€์ˆ˜, ์ƒ์šฉ๊ตฌ ์ฝ”๋“œ ์ถ•์†Œ, ๋ชจ๋“  Android ๋ฒ„์ „ ๋ฐ ๊ธฐ๊ธฐ์—์„œ ์ผ๊ด€๋˜๊ฒŒ ์ž‘๋™ํ•˜๋Š” ์ฝ”๋“œ ์ž‘์„ฑ์„ ๋•๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ชจ์Œ์ž…๋‹ˆ๋‹ค.

์ด ๊ฐ•์˜๋Š” ์•ˆ๋“œ๋กœ์ด๋“œ(Android) ์•ฑ ๊ฐœ๋ฐœ์— ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š” Jetpack์„ ํ•™์Šตํ•˜๋Š” ๊ฐ•์˜์ž…๋‹ˆ๋‹ค. Jetpack์€ ์•ˆ๋“œ๋กœ์ด๋“œ ์•ฑ ๊ฐœ๋ฐœ์„ ํ•˜๋Š”๋ฐ ๋‹ค์–‘ํ•œ ํŽธ์˜๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

์•ˆ๋“œ๋กœ์ด๋“œ๊ฐ€ ๋กœ์ผ“์„ ํƒ€๊ณ  ๋‚ ์•„๊ฐ€๋Š” ๊ทธ๋ฆผ์—์„œ ์œ ์ถ”ํ•  ์ˆ˜ ์žˆ๋“ฏ์ด, Jetpack์„ ์‚ฌ์šฉํ•˜๋ฉด ๊ฐœ๋ฐœ์— ํŽธ์˜์„ฑ๊ณผ ์†๋„๋ฅผ ๋†’์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์•ˆ๋“œ๋กœ์ด๋“œ ๊ฐœ๋ฐœ์„ ํ•œ ๋‹จ๊ณ„ ๋” ์—…๊ทธ๋ ˆ์ด๋“œ ํ•˜๊ณ  ์‹ถ์€ ๋ถ„์—๊ฒŒ ์ถ”์ฒœ๋“œ๋ฆฝ๋‹ˆ๋‹ค.


์ด๋ฏธ ๋งŽ์€ ๊ธฐ์—…์—์„œ
Jetpack์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์–ด์š”.

์•ˆ๋“œ๋กœ์ด๋“œ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ ์ง€์›์ž๊ฒฉ
์ง€์›์ž๊ฒฉ์— Android Jetpack ๊ฒฝํ—˜ ์š”๊ตฌ๋ฅผ ์ž์ฃผ ๋ณผ ์ˆ˜ ์žˆ์–ด์š”.

"Google์€ Android ์•„ํ‚คํ…์ฒ˜ ๊ตฌ์„ฑ์š”์†Œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ „์ฒด ์•ฑ์„ ๋‹ค์‹œ ์„ค๊ณ„ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ตฌ์„ฑ ๋ณ€๊ฒฝ์„ ์‰ฝ๊ฒŒ ์ง€์›ํ•˜๋Š” Android ์•ฑ์„ ๋นŒ๋“œํ•  ์ˆ˜ ์žˆ๋„๋ก Google์—์„œ ๋ณด์ฆํ•˜๋Š” ๋…๋ณด์ ์ด๊ณ  ๊น”๋”ํ•œ ๋ฐฉ๋ฒ•์ด ์žˆ์–ด ๊ธฐ์ฉ๋‹ˆ๋‹ค."

๋“œ๋ฃจ ํ•˜๋„ค์ด, LinkedIn์˜ ์†Œํ”„ํŠธ์›จ์–ด ์—”์ง€๋‹ˆ์–ด

"Android ๊ตฌ์„ฑ์š”์†Œ ์•„ํ‚คํ…์ฒ˜๋กœ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์„ ๊ฐœ๋ฐœํ•˜๋ฉด์„œ ๋ฏผ์ฒฉํ•˜๊ฒŒ ๋Œ€์‘ํ•  ์ˆ˜ ์žˆ์—ˆ๊ณ  ๋‚ฉ๊ธฐ ์‹œ๊ฐ„์ด ํ–ฅ์ƒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋” ๋งŽ์€ ๊ฐœ๋ฐœ์ž๋“ค์ด ์‚ฌ์šฉํ•จ์— ๋”ฐ๋ผ ์ „๋ฐ˜์ ์ธ ์†๋„๊ฐ€ ๊ณ„์† ๋นจ๋ผ์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค."

๋น„์Šˆ์™€๋‚˜ํŠธ ๋ผ๋งˆ๋ผ์˜ค, Hike์˜ CTO

"์—ฌ๋Ÿฌ ๋‹ค์–‘ํ•œ ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•ด ์™”๋Š”๋ฐ Room์„ ํ†ตํ•ด ํฐ ๊ฐœ์„ ์„ ์ด๋ฃฐ ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ํ…Œ์ŠคํŠธ ๊ธฐ๋Šฅ์— ์ดˆ์ ์„ ๋‘” ์ ์ด ์ œ์ผ ๋ง˜์— ๋“ญ๋‹ˆ๋‹ค."

์•ค๋”” ๋กœํŠผ, Tinder์˜ Android ํ”Œ๋žซํผ ์ฑ…์ž„์ž

 

 

"Room์„ ์‚ฌ์šฉํ•˜๋ฉด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํ…Œ์ด๋ธ”๊ณผ DAO ์ƒ์„ฑ์ด ํ›จ์”ฌ ๊ฐ„๋‹จํ•ด์ ธ ์ œํ’ˆ์„ ๋น ๋ฅด๊ฒŒ ๋นŒ๋“œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ…Œ์ŠคํŠธ ๊ธฐ๋Šฅ์— ์ดˆ์ ์„ ๋‘” ์ ๋„ ์ €ํฌ์—๊ฒŒ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค."

ํ™ฉ์ธ์„ฑ(๋ฐ๋ฏธ์•ˆ ํ™ฉ), ์นด์นด์˜คํ†ก์˜ ์นด์นด์˜คํ†ก ๊ฐœ๋ฐœ์ž

๊ธฐ์—…๋ณ„ Jetpack ์ด์šฉ ํ›„๊ธฐ โ“’Androide developers
๋‹ค์–‘ํ•œ ๊ธฐ์—…์—์„œ Jetpack์„ ์‚ฌ์šฉ ์ค‘์ด์—์š”.


๋ˆ„๊ตฌ๋ฅผ ์œ„ํ•œ ๊ฐ•์˜์ธ๊ฐ€์š”?

์•ˆ๋“œ๋กœ์ด๋“œ ์•ฑ ๊ฐœ๋ฐœ์ž๋กœ ์ทจ์ง ์ค€๋น„ ์ค‘์ธ ๋ถ„

JETPACK์„ ํ•™์Šต์— ์–ด๋ ค์›€์„ ๊ฒช์€ ๋ถ„

๊ตฌ๊ธ€ ๊ณต์‹๋ฌธ์„œ๋งŒ์œผ๋กœ๋Š” ๊ฐ์„ ์žก๊ธฐ ์–ด๋ ค์šด ๋ถ„


๊ฐ•์˜ ํŠน์ง• โœจ

โ˜‘๏ธ ๊ฐ•์˜๋ฅผ ์ˆœ์„œ๋Œ€๋กœ ํ•™์Šตํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ตฌ์„ฑํ•˜์˜€์Šต๋‹ˆ๋‹ค.

๊ฐ„๋‹จํ•œ JETPACK์„ ์ด์šฉํ•œ ํ”„๋กœ์ ํŠธ ๊ฐ™์€ ๊ฒฝ์šฐ ๋งŽ์€ ๊ณณ์—์„œ ์ •๋ณด๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค๋งŒ, ์—ฌ๋Ÿฌ๊ฐ€์ง€ ๊ฐœ๋…์ด ํ˜ผํ•ฉ๋˜์–ด ์‚ฌ์šฉ๋˜๊ณ , ํ•œ๋ฒˆ์— ํ•˜๋‚˜์”ฉ ์ˆœ์ฐจ์ ์œผ๋กœ ํ•™์Šตํ•˜๊ธฐ ์–ด๋ ต์Šต๋‹ˆ๋‹ค. ๊ฐ•์˜๋ฅผ ํ†ตํ•ด ์ˆœ์„œ๋Œ€๋กœ ๊ด€๋ จ ๊ฐœ๋…์„ ํ•˜๋‚˜์”ฉ ํ•™์Šตํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜์˜€์Šต๋‹ˆ๋‹ค.

โ˜‘๏ธ ์™œ ์“ฐ๋Š”์ง€์— ๋Œ€ํ•ด์„œ ๋งŽ์ด ๋„ฃ์œผ๋ ค๊ณ  ํ–ˆ์Šต๋‹ˆ๋‹ค. 

๋‹จ์ˆœํ•œ ๊ธฐ๋Šฅ ์„ค๋ช…์—์„œ ๋ฒ—์–ด๋‚˜, '์™œ' ์“ฐ๋Š”์ง€์— ๋Œ€ํ•ด ์ž์„ธํžˆ ์•Œ์•„๋ด…๋‹ˆ๋‹ค. ์ง๊ด€์ ์œผ๋กœ ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉํ•˜๊ณ  ์™œ ์‚ฌ์šฉํ•˜๋Š”์ง€์— ๋Œ€ํ•ด ๋น ๋ฅด๊ฒŒ ํ•™์Šตํ•˜์‹ค ์ˆ˜ ์žˆ๋„๋ก ๊ฐ•์˜๋ฅผ ๊ตฌ์„ฑํ–ˆ์–ด์š”.

โ˜‘๏ธ ์ˆ˜๊ฐ• ํŽธ์˜๋ฅผ ์œ„ํ•˜์—ฌ ๋…ธ์…˜์œผ๋กœ ๊ฐ•์˜์ฝ”๋“œ๋ฅผ ์ •๋ฆฌํ•˜์˜€์Šต๋‹ˆ๋‹ค.

๊ฐ๊ฐ์˜ ์˜ˆ์ œ๋ณ„๋กœ ๋…ธ์…˜์˜ ์ฝ”๋“œ๋ฅผ ์ •๋ฆฌํ•ด์„œ ๋น ๋ฅด๊ฒŒ ๊ฐ•์˜ ์ฝ”๋“œ๋ฅผ ๋ณด๊ณ  ํ•™์Šตํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ตฌ์„ฑํ•˜์˜€์Šต๋‹ˆ๋‹ค.


์ด๋Ÿฐ ๊ฑธ ๋ฐฐ์›Œ์š”!

  • View์— ๋Œ€ํ•œ ์ ‘๊ทผ(ViewBinding / DataBinding / ViewModel / LiveData)
  • View์™€ ViewModel
  • View / ViewModel๊ณผ LiveData ํ•จ๊ป˜ ์‚ฌ์šฉ
  • Retrofit (์•ฝ๊ฐ„์˜ Coroutine๊ณผ ViewModelScope)
  • ROOM
  • WorkManager
  • Navigation

์˜ˆ์ƒ ์งˆ๋ฌธ Q&A ๐Ÿ’ฌ

Q. ์„ ์ˆ˜์ง€์‹์ด ํ•„์š”ํ• ๊นŒ์š”?

A. Kotlin์œผ๋กœ ๊ฐ„๋‹จํ•œ ์•ˆ๋“œ๋กœ์ด๋“œ ์•ฑ์„ ๊ฐœ๋ฐœํ•ด๋ณด์‹  ๋ถ„์ด ๋“ค์–ด์ฃผ์‹œ๋ฉด ์ข‹์„ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋„ˆ๋ฌด ๊ธฐ๋ณธ์ ์ธ ๋ฌธ๋ฒ•์ ์ธ ์‚ฌํ•ญ์— ๋Œ€ํ•ด์„œ๋Š” ์„ค๋ช…ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

Q. ์ €์—๊ฒŒ ๋„์›€์ด ๋˜๋Š” ๊ฐ•์˜์ผ์ง€ ๋ชจ๋ฅด๊ฒ ์–ด์š”.

A. ์ด๋Ÿฐ ๋ถ„๋“ค์—๊ฒŒ ์ถ”์ฒœ๋“œ๋ ค์š”.

  • ์•ˆ๋“œ๋กœ์ด๋“œ ๊ธฐ๋Šฅ์˜ ์ด๋ก ์ ์ธ ๋ถ€๋ถ„์„ ๋ฐฐ์šฐ๊ณ  ์‹ถ์€ ๋ถ„
  • ์•ˆ๋“œ๋กœ์ด๋“œ ๊ฐœ๋ฐœ์ž๋กœ ์ทจ์—…์„ ์ค€๋น„ํ•˜๊ณ  ์žˆ์œผ๋‚˜, JETPACK ๊ด€๋ จ ํ•ญ๋ชฉ์— ๋Œ€ํ•ด ๋ฐฐ์šด ์ ์ด ์—†๋Š” ๋ถ„
  • ๊ตฌ๊ธ€ ๊ฐœ๋ฐœ์ž ๊ณต์‹๋ฌธ์„œ ๋งŒ์œผ๋กœ ํ•™์Šต์— ์–ด๋ ค์›€์„ ๊ฒช์œผ์‹œ๋Š” ๋ถ„

Q. ๊ฐ•์˜์— ์†Œ์Šค์ฝ”๋“œ๋Š” ๋ชจ๋‘ ์ œ๊ณตํ•˜๋‚˜์š”?

A. ์„น์…˜ 0. ๊ฐ•์˜์†Œ๊ฐœ - ์ˆ˜์—…์ž๋ฃŒ์— ๋ณด์‹œ๋ฉด ๋…ธ์…˜ ๋งํฌ์—์„œ ๋ชจ๋‘ ๋ณด์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Q. ๊ฐ•์˜์— ์•ฝ๊ฐ„์˜ ์ฝ”๋ฃจํ‹ด์— ๋Œ€ํ•œ ๊ณผ์ •์ด ์žˆ๋Š”๋ฐ ์ฝ”๋ฃจํ‹ด์„ ์–ผ๋งˆ๋‚˜ ๊นŠ๊ฒŒ ์„ค๋ช…ํ•˜๋‚˜์š”?

A. ์ €ํฌ ๊ฐ•์˜ ๊ณผ์ •์— ์žˆ๋Š” ViewModel / ROOM / Retrofit / WorkManager์™€ ํ•จ๊ป˜ ์“ฐ๋Š” ๋ฐฉ๋ฒ• ์ค‘์‹ฌ์œผ๋กœ ๊ณต์œ ๋“œ๋ฆฝ๋‹ˆ๋‹ค. ์ฝ”๋ฃจํ‹ด์— ๋Œ€ํ•œ ์ด๋ก ์ด ๋งŽ์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค. ๊ธฐํšŒ๊ฐ€ ๋œ๋‹ค๋ฉด ์ฝ”๋ฃจํ‹ด์„ ์ค‘์‹ฌ์œผ๋กœ ํ•˜๋Š” ํ›„์† ๊ฐ•์˜๋ฅผ ์ œ์ž‘ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

Q. ๊ฐ•์˜ ๋‚œ์ด๋„๊ฐ€ [์ค‘๊ธ‰]์ธ๋ฐ, ์‹ค๋ฌด์ ์ธ ํ…Œํฌ๋‹‰์ด ๋งŽ์ด ์žˆ๋‚˜์š”?

A. ๊ฐ•์˜ ๋ถ„๋ฅ˜ ํŽธ์˜์ƒ "์ค‘๊ธ‰"์œผ๋กœ ์„ค์ •ํ•ด๋†จ์Šต๋‹ˆ๋‹ค๋งŒ, JETPACK ๊ฐœ๋ก ์ด๋ผ๋Š” ์ด๋ฆ„์ฒ˜๋Ÿผ ์ „์ฒด์ ์ธ ๋‚ด์šฉ์„ ๋‹ค์–‘ํ•˜๊ฒŒ ๋ณด๊ณ  ๋„˜์–ด๊ฐ€๋Š” ํ˜•ํƒœ๋กœ ๊ตฌ์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‚ด์šฉ์„ ์—„์ฒญ๋‚˜๊ฒŒ ๊นŠ๊ฒŒ ํŒŒ๊ณ  ๋“ค์–ด๊ฐ€์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค.

Q. <์ƒ> ํŽธ๊ณผ <ํ•˜> ํŽธ์ด ๋ฌด์—‡์ด ๋‹ค๋ฅธ๊ฐ€์š”?

A. <์ƒ>ํŽธ์—์„œ ๋‹ค์–‘ํ•œ ์ด๋ก ์ ์ธ ๋ถ€๋ถ„๊ณผ ์˜ˆ์ œ๋ฅผ ํ•™์Šตํ•˜๊ณ  <ํ•˜> ํŽธ์—์„œ ๋ฐฐ์šด ๊ฒƒ๋“ค์„ ํ†ตํ•ด์„œ ์•ฑ์„ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ๋งŒ๋“ค์–ด๋ณผ ๊ณ„ํš์ž…๋‹ˆ๋‹ค.


์‹œ๋ฆฌ์ฆˆ ๊ณผ์ •์œผ๋กœ
์ฐจ๊ทผ์ฐจ๊ทผ ํ•™์Šต ๐Ÿงฐ

์ด ๊ฐ•์˜๋ฅผ ์ˆ˜๊ฐ•ํ•˜์‹œ๊ณ , ์ข€ ๋” ์‹ค์ „์ ์ธ ๋ถ€๋ถ„์„ ๋ฐฐ์šฐ๊ณ  ์‹ถ์œผ์‹  ๋ถ„๋“ค์„ ์œ„ํ•ด ์™„๊ฐ•ํ•˜์‹œ๊ณ  ๋” ๋‚˜์•„๊ฐ€๊ธฐ ๊ณผ์ •์„ ์ค€๋น„์ค‘์ž…๋‹ˆ๋‹ค. 

์•„๋ž˜์˜ ์ˆœ์„œ๋Œ€๋กœ ๊ฐ•์˜๋ฅผ ์ œ์ž‘์ค‘์ด๋‹ˆ ์ˆ˜๊ฐ•์— ์ฐธ๊ณ ํ•ด์ฃผ์‹œ๋ฉด ์ข‹์„ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  1. [์ž…๋ฌธํŽธ] ์•ˆ๋“œ๋กœ์ด๋“œ๋ฅผ ์œ„ํ•œ ์ฝ”ํ‹€๋ฆฐ ๋ฌธ๋ฒ•
  2. [์™•์ดˆ๋ณดํŽธ] ์•ฑ 8๊ฐœ๋ฅผ ๋งŒ๋“ค๋ฉด์„œ ๋ฐฐ์šฐ๋Š” ์•ˆ๋“œ๋กœ์ด๋“œ ์ฝ”ํ‹€๋ฆฐ
  3. [์ดˆ๊ธ‰ํŽธ] ์ปค๋ฎค๋‹ˆํ‹ฐ ์•ฑ ๋งŒ๋“ค๊ธฐ 
  4. [์ดˆ์ค‘๊ธ‰ํŽธ] ๋ฐ์ดํŒ… ์•ฑ ๋งŒ๋“ค๊ธฐ 
  5. [์ค‘๊ธ‰ํŽธ] ์นœ์ ˆํ•œ JETPACK ๊ฐœ๋ก  <์ƒ> ํ˜„์žฌ ๊ฐ•์˜
  6. [์ค‘๊ธ‰ํŽธ] ์ฝ”์ธ ๊ฐ€๊ฒฉ ๋ชจ๋‹ˆํ„ฐ๋ง ์•ฑ ์ œ์ž‘
  7. [์ค‘๊ธ‰ํŽธ] ์นœ์ ˆํ•œ JETPACK ๊ฐœ๋ก  <ํ•˜>

 


๊ฐ•์˜๋ฅผ ๋งŒ๋“ 
์ง€์‹๊ณต์œ ์ž๋ฅผ ์†Œ๊ฐœํ•ฉ๋‹ˆ๋‹ค ๐Ÿ‘จโ€๐Ÿ’ป

2015๋…„ ์Šคํƒ€ํŠธ์—… ์ฐฝ์—…์„ ๊ณ„๊ธฐ๋กœ ๋‹ค์–‘ํ•œ ๊ฐœ๋ฐœ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜์˜€์Šต๋‹ˆ๋‹ค.

ํ˜„์žฌ๋Š” ํ•€ํ…Œํฌ ํšŒ์‚ฌ์—์„œ ์•ˆ๋“œ๋กœ์ด๋“œ ์•ฑ ๊ฐœ๋ฐœ์„ ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์ด๋Ÿฐ ๋ถ„๋“ค๊ป˜
์ถ”์ฒœ๋“œ๋ ค์š”!

ํ•™์Šต ๋Œ€์ƒ์€
๋ˆ„๊ตฌ์ผ๊นŒ์š”?

  • ์•ˆ๋“œ๋กœ์ด๋“œ ๊ฐœ๋ฐœ์ž๋กœ ์ทจ์—…์„ ์ค€๋น„ํ•˜์‹œ๋Š”๋ถ„

  • ์œ ํŠœ๋ธŒ๋ฅผ ํ†ตํ•ด JETPACK์„ ๋ฐฐ์›Œ๋ณด๊ณ ์ž ํ–ˆ์œผ๋‚˜, ์ฒด๊ณ„์ ์ด์ง€ ์•Š์€ ํ•™์Šต ์ˆœ์„œ๋กœ ์–ด๋ ค์›€์„ ๋Š๋ผ์…จ๋˜ ๋ถ„

  • ๊ตฌ๊ธ€ ๊ณต์‹๋ฌธ์„œ๋ฅผ ํ†ตํ•ด JETPACK์„ ๋ฐฐ์›Œ๋ณด๊ณ ์ž ํ–ˆ์œผ๋‚˜ ์„ค๋ช…์ด ๋ถˆ์นœ์ ˆํ•˜๋‹ค๊ณ  ๋Š๋ผ์‹  ๋ถ„๋“ค

์„ ์ˆ˜ ์ง€์‹,
ํ•„์š”ํ• ๊นŒ์š”?

  • Activity ์ƒ๋ช…์ฃผ๊ธฐ์— ๋Œ€ํ•ด ๊ฒ€์ƒ‰์„ ํ•œ๋ฒˆ ํ•ด๋ณด์‹ ๋ถ„

  • Kotlin์œผ๋กœ ๊ฐ„๋‹จํ•œ ์•ฑ์„ ๋งŒ๋“ค์–ด๋ณด์‹  ๊ฒฝํ—˜์ด ์žˆ์œผ์‹ ๋ถ„

์•ˆ๋…•ํ•˜์„ธ์š”
๊ฐœ๋ณต์น˜๊ฐœ๋ฐœ์ž์ž…๋‹ˆ๋‹ค.

7,258

๋ช…

์ˆ˜๊ฐ•์ƒ

387

๊ฐœ

์ˆ˜๊ฐ•ํ‰

1,346

๊ฐœ

๋‹ต๋ณ€

4.8

์ 

๊ฐ•์˜ ํ‰์ 

12

๊ฐœ

๊ฐ•์˜

2015๋…„ ์Šคํƒ€ํŠธ์—… ์ฐฝ์—…์„ ๊ณ„๊ธฐ๋กœ ๋‹ค์–‘ํ•œ ๊ฐœ๋ฐœ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜์˜€์Šต๋‹ˆ๋‹ค.

ํ˜„์žฌ๋Š” ํ‰๋ฒ”ํ•œ ์ง์žฅ์ธ ๊ฐœ๋ฐœ์ž์ž…๋‹ˆ๋‹ค

์ปค๋ฆฌํ˜๋Ÿผ

์ „์ฒด

54๊ฐœ โˆ™ (7์‹œ๊ฐ„ 58๋ถ„)

๊ฐ•์˜ ๊ฒŒ์‹œ์ผ: 
๋งˆ์ง€๋ง‰ ์—…๋ฐ์ดํŠธ์ผ: 

์ˆ˜๊ฐ•ํ‰

์ „์ฒด

27๊ฐœ

4.9

27๊ฐœ์˜ ์ˆ˜๊ฐ•ํ‰

๊ฐœ๋ณต์น˜๊ฐœ๋ฐœ์ž๋‹˜์˜ ๋‹ค๋ฅธ ๊ฐ•์˜

์ง€์‹๊ณต์œ ์ž๋‹˜์˜ ๋‹ค๋ฅธ ๊ฐ•์˜๋ฅผ ๋งŒ๋‚˜๋ณด์„ธ์š”!

๋น„์Šทํ•œ ๊ฐ•์˜

๊ฐ™์€ ๋ถ„์•ผ์˜ ๋‹ค๋ฅธ ๊ฐ•์˜๋ฅผ ๋งŒ๋‚˜๋ณด์„ธ์š”!

โ‚ฉ55,000