์ „์ฒด ๊ธ€

๋ฐœ์ฐจ๊ธฐ๋งŒ ํ•˜๋˜ ์‚ฌ๋žŒ์ด ๊ฐœ๋ฐœ์ž? ๊ฐœ๋ฐœ์ฐจ๊ธฐ์˜ ์‹œ์ž‘.
Taekwondo

์ฒด์กฐ - Round Off Full Twist, ์ธก์ „ ํ›Œํ„ด ๋”๋ธ”

2020๋…„ 7์›”๋ถ€ํ„ฐ ์ง€๊ธˆ๊นŒ์ง€ ์•ฝ 3๋…„๊ฐ„ ๋„์žฅ ์‹œ๋ฒ”๋‹จ ์•„์ด๋“ค ์•Œ๋ ค์ฃผ๋ฉด์„œ ์ ์  ์•„์ด๋“ค์ด ์‹ค๋ ฅ๋„ ์˜ค๋ฅด๊ณ  ๊ณ ๋‚œ์ด๋„ ๊ธฐ์ˆ ์„ ์„ ๋ณด์ผ ์ˆ˜ ์žˆ๋Š” ์ฒด๋ ฅ๊ณผ ๊ทผ๋ ฅ์ด ๋ฐ›์ณ์ฃผ๋Š” ๊ฒƒ ๊ฐ™์•„์„œ ์ฒด์กฐ๋™์ž‘์—์„œ 2๋ฐ”ํ€ด ์ด์ƒ ํšŒ์ „ํ•˜๋Š” ๊ธฐ์ˆ ๋“ค์„ ์•Œ๋ ค์ฃผ๋ คํ•œ๋‹ค. ํ˜„์—ญ ์‹œ์ ˆ์—๋Š” ๊ทธ๋ƒฅ ๊ธฐ์ˆ ๊ณผ ์ง€์‹ ์—†์ด ํž˜์œผ๋กœ๋งŒ ๋Œ๊ณ  ์ œ๋Œ€๋กœ ์„ฑ๊ณตํ•˜์ง€ ๋ชปํ–ˆ๋˜ ๊ธฐ์ˆ ์ธ๋ฐ ์ ์  ๋…ธ๋ จํ•ด์ ธ์„œ ์ง€์‹์ด ์Œ“์ธ ์ƒํƒœ์—์„œ ํ•ด๋ณด๋Š” ์ฒซ ๋„์ „์ด๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ์ผ๋‹จ ์ด๋ฒˆ ๊ธ€(2023๋…„ 4์›” 3์ผ ์›”์š”์ผ)์€ ์„ฑ๊ณตํ•œ ๊ธ€์€ ์•„๋‹ˆ๋‹ค. ์ผ์ฃผ์ผ์— 1๋ฒˆ์ •๋„ ์•„์ด๋“ค์„ ๊ฐ€๋ฅด์น˜๊ณ  ๊ณ ์ž‘ 5๋ฒˆ์ •๋„ ์‹œ๋„ํ•˜๊ธฐ ๋–„๋ฌธ์— ์˜์ƒ์œผ๋กœ ๋ถ„์„ํ•  ์ˆ˜ ์žˆ๋Š” ์‹œ๊ฐ„๋„ ๋ถ€์กฑํ•˜๋‹ค. ๊ทธ๋ ‡๊ธฐ์— ์œ ์ผํ•˜๊ฒŒ ํ•œ ๋ฒˆ ์ฐ์–ด๋ณธ ์˜์ƒ์œผ๋กœ ๋ถ„์„์„ ํ•œ ํ›„ ๋‹ค์Œ์— ์‹œ๋„ํ•œ ์˜์ƒ์„ ์ถ”๊ฐ€๋กœ ์˜ฌ๋ฆฌ๋ คํ•œ๋‹ค. ์•„๋ž˜ ์˜์ƒ์€ 2023๋…„ 4์›” 3์ผ(์›”)์— ์ฐ์€ ์˜์ƒ. ์ฐฉ์ง€๊ฐ€..

Development/Compose

Jetpack Compose Camp 2022 ํ›„๊ธฐ

๋„ˆ๋ฌด๋‚˜๋„ ๋Šฆ์—ˆ์ง€๋งŒ Jetpack Compose Camp 2022๋ฅผ ๋งˆ๋ฌด๋ฆฌํ•œ ํ›„๊ธฐ๋ฅผ ์ž‘์„ฑํ•ด๋ณด๋ ค๊ณ  ํ•œ๋‹ค. Compose Camp๋กœ ์ดˆ๋Œ€ํ•ฉ๋‹ˆ๋‹ค! developersonair.withgoogle.com (์œ„์— ๋งํฌ๋Š” ์•„์ง ๋‚จ์•„์žˆ๊ธธ๋ž˜ ๊ฐ€์ ธ์™€๋ดค๋‹ค) ์ด๋ฒˆ์—๋Š” 2021๋…„์—๋Š” Compose camp๊ฐ€ ์•„๋‹ˆ๋ผ Devfest 2021 Android Jetpack Compose Codelab๋ผ๋Š” ์ด๋ฆ„์œผ๋กœ ๋‚˜์™”์—ˆ๋‹ค. ๊ทธ๋•Œ์™€๋Š” ๋‹ค๋ฅด๊ฒŒ 2022๋…„๋„๋Š” ์ดˆ๊ธ‰๋ฐ˜ ์ค‘๊ธ‰๋ฐ˜์œผ๋กœ ๋‚˜๋ˆ  ์ฝ”๋“œ๋žฉ์„ ์ง„ํ–‰ํ•˜๊ณ  ๋ฌด์Šจ ์ž์‹ ๊ฐ์ธ์ง€ ๋ชจ๋ฅด๊ฒŒ ๋‚˜๋Š” ์ค‘๊ธ‰๋ฐ˜์œผ๋กœ ์ง€์›ํ•ด์„œ Camp๋ฅผ ์ง„ํ–‰ํ–ˆ๋‹ค. 2021๋…„๋„์— ์ฝ”๋“œ๋žฉ์„ ํ•˜๊ณ ๋‚˜์„œ ์‹ค์ œ๋กœ๋Š” ํ”„๋กœ์ ํŠธ์— ์ ์šฉ์‹œํ‚ค๊ธฐ ์–ด๋ ต๋‹ค๋Š” ์ƒ๊ฐ์— ๊ด€๋ จ ์ž๋ฃŒ๋งŒ ํƒ์ƒ‰ํ•˜๊ณ  ์–ธ์ œ ์ง„ํ–‰ํ•˜์ง€ ํ•˜๋ฉด์„œ ๊ธฐ๋‹ค๋ฆฌ๋‹ค๊ฐ€ 1๋…„์ด ์ง€๋‚˜๋ฒ„๋ ธ๋Š”๋ฐ ์ค‘๊ธ‰๋ฐ˜์œผ๋กœ ์‹ ์ฒญํ•œ๊ฑด ๋ฌด..

Development/Compose

๋Œ€์„ธ๋ผ๋Š” Compose! ๊ทธ๋ž˜ ํ•œ๋ฒˆ ๋ฐฐ์›Œ๋ณผ๊นŒ? ๐Ÿ“

Compose๊ฐ€ ๋ญ˜๊นŒ? ๋œป์œผ๋กœ๋Š” ๊ตฌ์„ฑํ•˜๋‹ค, ์ž‘๊ณกํ•˜๋‹ค ๋ผ๋Š” ๋œป์„ ๊ฐ€์ง€๊ณ  ์žˆ๋Š”๋ฐ ์•ˆ๋“œ๋กœ์ด๋“œ์—์„œ๋Š” Compose๋Š” Jetpack Compose์˜ ํ•œ ๊ฐ€์ง€๋กœ ๋„ค์ดํ‹ฐ๋ธŒ Android UI๋ฅผ ๋นŒ๋“œํ•˜๊ธฐ ์œ„ํ•œ ์ตœ์‹  ๋„๊ตฌ ํ‚คํŠธ์ž…๋‹ˆ๋‹ค. ๋งํฌ → https://developer.android.com/jetpack/compose/documentation Jetpack Compose ์‹œ์ž‘ํ•˜๊ธฐ | Android Developers Jetpack Compose ์‹œ์ž‘ํ•˜๊ธฐ ์ปฌ๋ ‰์…˜์„ ์‚ฌ์šฉํ•ด ์ •๋ฆฌํ•˜๊ธฐ ๋‚ด ํ™˜๊ฒฝ์„ค์ •์„ ๊ธฐ์ค€์œผ๋กœ ์ฝ˜ํ…์ธ ๋ฅผ ์ €์žฅํ•˜๊ณ  ๋ถ„๋ฅ˜ํ•˜์„ธ์š”. Jetpack Compose๋Š” ๋„ค์ดํ‹ฐ๋ธŒ Android UI๋ฅผ ๋นŒ๋“œํ•˜๊ธฐ ์œ„ํ•œ ์ตœ์‹  ๋„๊ตฌ ํ‚คํŠธ์ž…๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—์„œ Compo developer.android.com ๊ธฐ์กด์˜ Android ์˜ XM..

Development/Android

๐Ÿ›  ์‚ฌ์šฉ์ž๋“ค์ด ์•ฑ์„ ์ž ์‹œ ๋ชป ์“ฐ๊ฒŒ ํ•  ์ˆ˜ ์žˆ๋‚˜? - Firebase Remote Config

์˜ค๋Š˜์€ ํŒŒ์ด์–ด๋ฒ ์ด์Šค์˜ remote config๋ฅผ ์–ด๋–ค ๋ฐฉ์‹์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š”์ง€ ์•Œ์•„๋ณด๋ ค๊ณ  ํ•œ๋‹ค. ํ•„์ž๋Š” ์•ฑ์„ ๊ผญ ์—…๋ฐ์ดํŠธ๋ฅผ ํ•ด์•ผํ•˜๋Š” ๊ฒฝ์šฐ์— ์ด ๊ฒƒ์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋‹ค. ์ผ๋‹จ Firebase์˜ Remote Config๋ž€ ์•ฑ์—์„œ ๋ณ„๋„์˜ ์—…๋ฐ์ดํŠธ๋ฅผ ํ•˜์ง€ ์•Š์•„๋„ ์•ฑ์˜ ๋™์ž‘์ด๋‚˜ ๋ชจ์–‘์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋Š” ํด๋ผ์šฐ๋“œ ์„œ๋น„์Šค์ด๋‹ค. ๋งŒ์•ฝ ํ•„์ž์™€ ๊ฐ™์€ ๋ฒ„์ „ ์ฒดํฌ๋ฅผ ํ•˜์—ฌ ์•ฑ์„ ๊ฐ•์ œ ์—…๋ฐ์ดํŠธํ•˜๊ฒŒ ๋งŒ๋“ค๊ณ  ์‹ถ๋‹ค๋Š” ์ „์ œํ•˜์— ์ด ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•ด๋ณด๊ฒ ๋‹ค. ์ผ๋‹จ firebase์™€ ๋‚ด ์•ฑ์ด ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋‹ค๋Š” ์ „์ œํ•˜์— ์ง„ํ–‰ํ•˜๊ฒ ๋‹ค. (์ถ”ํ›„ ์—ฐ๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ž‘์„ฑํ•  ์˜ˆ์ •) 1. gradle์— implementation ์‹œํ‚จ๋‹ค. implementation 'com.google.firebase:firebase-core:21.1.0' implementation 'co..

Development/Android

Databinding ์—์„œ ์–ด๋–ป๊ฒŒ ๋ฐ์ดํ„ฐ๋“ค์„ ๊ฐ€๊ณตํ• ๊นŒ? ๐Ÿฝ

Databinding์„ ์‚ฌ์šฉ ํ•˜๊ณ ์žˆ์–ด! ๋˜ ์–ด๋–ค ๋ฐฉ์‹์œผ๋กœ ์“ฐ๋Š”์ง„ ์•Œ๊ฒ ์–ด. ๊ทผ๋ฐ ์„œ๋ฒ„์—์„œ ๋ฐ›์•„์˜จ ๋ฐ์ดํ„ฐ๋“ค์„ ์–ด๋–ป๊ฒŒ ๊ฐ€๊ณตํ•ด์„œ ๋ฐ”๋กœ ์จ? ์‹œ๊ฐ„์ด๋‚˜ ํšŸ์ˆ˜ ๋ญ ํ•˜๋ฌผ๋ฉฐ ์‚ฌ์šฉ์ž ์„ฑ๋ณ„์ด๋ผ๋„ ๊ฐ€๊ณตํ•ด์„œ ๋ณด์—ฌ์ค˜์•ผํ•˜๋Š”๊ฑฐ ์•„๋‹Œ๊ฐ€? ๊ทธ๋Ÿผ ๋˜ ๋‹ค๋ฅธ ๊ณณ์—์„œ ์ฃผ์ž…ํ•ด์ค˜์•ผํ•˜๋Š”๊ฑฐ ์•„๋‹ˆ์•ผ? ๋ผ๊ณ  ์ƒ๊ฐํ–ˆ์ง€๋งŒ… ์•„~์ฃผ ์ข‹์€ ๊ธฐ๋Šฅ์ด ์žˆ๋‹ค.(์ด๋Ÿฌ๋ฉด ๋’ท๋ง์ด ๊ถ๊ธˆํ•ด์„œ ๋ฒ—์–ด๋‚˜๊ธฐ ํž˜๋“ค๋‹ค ๐Ÿคฆ‍โ™‚๏ธ) 1. ์ผ๋‹จ ์‚ฌ์šฉํ•  Data class๋ฅผ ๋งŒ๋“ ๋‹ค. data class Memo( // @SerializedName("id") object ์ค‘ ํ•ด๋‹น ๊ฐ’์ด null ๊ฒฝ์šฐ // -> json ์œผ๋กœ ๋งŒ๋“ค ํ•„๋“œ๋ฅผ ์ž๋™ ์ƒ๋žต @SerializedName("id") @Expose val id: Int, โ€‹ @SerializedName("title") @Expose val me..

Development/Android

๐Ÿ“ฆ Databinding์„ ์“ฐ๋ฉด์„œ - 2

์ด๋ฒˆ์—” RecyclerView ViewPager image ๋“ค์„ ์–ด๋–ป๊ฒŒ ํ•˜๋ฉด Databinding์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ์ ์–ด๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๋ณดํ†ต RecyclerView๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด Adapter ๋ฐ˜๋ณต๋  Layout RecyclerView๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ณณ์—์„œ์˜ ์„ ์–ธ ๋“ค์ด ํ•„์š”ํ•œ๋ฐ Databinding์„ ์ด์šฉํ•˜๋ฉด ์•ฝ๊ฐ„์”ฉ ๋‹ฌ๋ผ์ง€๊ฒŒ ๋œ๋‹ค. (๊ธฐ๋ณธ์ ์ธ RecyclerView๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ „์ œํ•˜์— ์ง„ํ–‰ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค ๐Ÿ™‡‍โ™‚๏ธ) 1. ๊ฐ€์žฅ ๋จผ์ € ๋ฐ˜๋ณตํ•˜์—ฌ ์‚ฌ์šฉํ•  Layout์„ ๋งŒ๋“ค์–ด์ค๋‹ˆ๋‹ค. โ€‹ โ€‹ โ€‹ โ€‹ โ€‹ โ€‹ โ€‹ ์œ„์™€ ๊ฐ™์ด ๋ฐ”์ธ๋”ฉ์œผ๋กœ ๋ฌถ์–ด์ฃผ๊ณ  ์‚ฌ์šฉํ•  item(data class) ๋ชจ๋ธ์„ variable๋กœ ์„ ์–ธ ํ•ด์ค๋‹ˆ๋‹ค. ์„ ์–ธํ•œ item์œผ๋กœ ๊ฐ View์— ๋„ฃ์–ด์ค๋‹ˆ๋‹ค. (์นด์นด์˜ค ์ฃผ์†Œ์ฐพ๊ธฐ api๋ฅผ ์‚ฌ์šฉํ•จ ๐Ÿ•บ๐Ÿผ) 2. A..

Development/Android

๐Ÿ“ฆ Databinding์„ ์“ฐ๋ฉด์„œ - 1

Databinding์ด๋ž€!(๋ฐ์ดํ„ฐ ๋ฌถ๊ธฐ?) → ์•ˆ๋“œ๋กœ์ด๋“œ์—์„œ์˜ data binding ์ด๋ž€, Android Archictecture Components ์˜ ํ•œ ๋ถ€๋ถ„์œผ๋กœ์„œ Ui ์š”์†Œ์™€ ๋ฐ์ดํ„ฐ๋ฅผ ํ”„๋กœ๊ทธ๋žจ์  ๋ฐฉ์‹์œผ๋กœ ์—ฐ๊ฒฐํ•˜์ง€ ์•Š๊ณ , ์„ ์–ธ์  ํ˜•์‹์œผ๋กœ ๊ฒฐํ•ฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋„์™€์ฃผ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋งํ•œ๋‹ค. ์‰ฝ๊ฒŒ ์„ค๋ช…ํ•˜๋ฉด MVVMํŒจํ„ด์„ ์‚ฌ์šฉํ•˜๋ฉด์„œ Activity๋‚˜ Fragment์—์„œ ๋ทฐ ๊ด€๋ จ๋œ ์ฝ”๋“œ๋“ค์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  xml ์ฝ”๋“œ์— ์ง‘์–ด ๋„ฃ๋Š” ๊ฒƒ์„ ๋งํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ๋“ค์„ ViewModel์—์„œ ๊ด€๋ฆฌํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ๋” ๋” ๋” ํ”ผ๋ถ€์— ์™€๋‹ฟ๊ฒŒ ๋งํ•˜์ž๋ฉด Activity๋‚˜ Fragment์—์„œ ๋งŽ์€ ์ฝ”๋“œ๋“ค์„ ์ ์ง€ ์•Š๊ฒŒ ํ•จ์œผ๋กœ์จ ๋ทฐ๋ฅผ ๊ด€๋ฆฌํ•˜๊ณ  ๋ณ€ํ™˜์‹œํ‚ค๋Š” ์ฝ”๋“œ๋Š” ViewModel์—์„œ ๊ด€๋ฆฌํ•ด์„œ Activity & Fragment ๋“ค์˜ ์ฝ”๋“œ๋Š” ๋”์šฑ ..

Development/Android

์˜์กด์„ฑ ์ฃผ์ž…์˜ Koin๐Ÿช™ ๋‘ ๋‹ข์„ - 2

์ด๋ฒˆ์—” ์‹ค์ œ๋กœ ํ”„๋กœ๊ทธ๋žจ์— ์˜์กด์„ฑ ์ฃผ์ž…(DI)๋ฅผ ์ ์šฉ์‹œ์ผœ๋ณด๋ฉด์„œ ์‚ฝ์งˆ์˜ ์—ฐ์†์—์„œ ๋Š๊ผˆ๋˜ ์ ๊ณผ ํ•„์š”ํ•œ ๋ถ€๋ถ„์„ ์ž‘์„ฑํ•  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค. 1. Fragment๋ผ๋ฆฌ ViewModel์„ ๊ณต์œ ํ•˜๊ณ  ์‹ถ์„ ๋•Œ! class JoinEntrepreneurFragment: Fragment() { ... private val viewModel: JoinViewModel by sharedViewModel() โ€‹ ... } โ€‹ class JoinMainFragment : SoftKeyboardImplementFragment() { ... private val viewModel: JoinViewModel by sharedViewModel() โ€‹ ... } ์œ„์™€ ๊ฐ™์€ ํ˜•์‹์œผ๋กœ sharedViewModel() ๋ฅผ ์ ์–ด์ค€๋‹ค๋ฉด Fragment๊ฐ„ ..

Development/Android

์˜์กด์„ฑ ์ฃผ์ž…์˜ Koin๐Ÿช™ ํ•œ ๋‹ข์„ - 1

์˜์กด์„ฑ ์ฃผ์ž…์ด๋ผ.. ๋„ˆ๋ฌด๋‚˜๋„ ์ต์ˆ™ํ•˜์ง€ ์•Š์€ ๋ฌธ์žฅ์ด๋‹ค. ๋‚จ์—๊ฒŒ ์˜์กดํ•˜์ง€๋ง๊ณ  ์ฃผ์ฒด์ ์œผ๋กœ ์‚ด์ž ๋ผ๋Š” ๋ง์„ ์‚ฌ์šฉํ•  ๋•Œ๋งŒ ์ผ๋˜ ๋‹จ์–ด๋ฅผ ๊ฐœ๋ฐœํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋‹ˆ ์–ด์ƒ‰ํ•˜๊ณ  ๋‹จ๋ฒˆ์— ์ดํ•ด๊ฐ€ ๋˜์ง€ ์•Š๋Š”๋‹ค. ์˜์กด์„ฑ ์ฃผ์ž…(์˜์กด๊ด€๊ณ„ ์ฃผ์ž…)! Dependency Injection(DI) ๋””ํŽœ๋˜์‹œ ์ธ์ ์…˜, ์˜์กด์„ฑ์ฃผ์ž…์— ๋Œ€ํ•ด ๊ฐ„๋‹จํ•˜๊ฒŒ ์„ค๋ช…ํ•˜๊ณ  ์‹ถ์€๋ฐ ๋ญ๋ผํ•ด์•ผ๋ ์ง€ ๋ชจ๋ฅด๊ฒ ๋‹ค. → ํ‘œ์ค€์„ ์ •์˜ ํ•  ์ˆ˜ ์žˆ๊ณ , ์ •์˜๋œ ํ‘œ์ค€์„ ๋ฐ”ํƒ•์œผ๋กœ ๊ฐ™์€ ์„ค๊ณ„๋ฅผ ํ•˜๊ฒŒ ํ•˜์—ฌ์ค๋‹ˆ๋‹ค.(์—ญ์‹œ๋‚˜ ํ•œ ๋ฒˆ์— ์ดํ•ด๊ฐ€ ๋˜์ง€ ์•Š๋Š”๋‹ค.) ์ข€ ๋” ๊ฐ€๊น๊ฒŒ ์ •์˜ํ•œ๋‹ค๋ฉด, ”์˜์กด๋Œ€์ƒ B๊ฐ€ ๋ณ€ํ•˜๋ฉด, ๊ทธ๊ฒƒ์ด A์— ์˜ํ–ฅ์„ ๋ฏธ์นœ๋‹ค .” - ์ด์ผ๋ฏผ, ํ† ๋น„์˜ ์Šคํ”„๋ง 3.1, ์—์ด์ฝ˜(2012), p113 B๊ฐ€ ๋ณ€๊ฒฝ๋˜๊ฑฐ๋‚˜ ํ˜•์‹์ด ๋ฐ”๋€Œ๋ฉด A์— ์˜ํ–ฅ์ด ๊ฐ„๋‹ค. (์‚ฌ์ง„ : Jacob) ๐Ÿฅ‹ ํ’ˆ์ƒˆ๋ฅผ ๊ฐ€๋ฅด์น˜๋Š” ํƒœ๊ถŒ๋„..

Development/Android

Event Bus๐ŸšŒ์˜ ๋ฒ„์Šค ์ข€ ๋ฐ›์•„๋ณผ๊นŒ?

์ด๋ฒˆ์— FCM์ด ์˜ค๋ฉด ํŠน์ • ํŽ˜์ด์ง€๋ฅผ ๋ณด๊ณ  ์žˆ๋‹ค๋ฉด ๊ทธ ํŽ˜์ด์ง€์—์„œ refresh๋ฅผ ํ•ด์•ผํ•˜๋Š” ์ผ์ด ์ƒ๊ฒผ๋‹ค. ๋ฐ”๋กœ ๊ตฌํ˜„ํ•˜๋ ค๊ณ  ํ•˜๋‹ค๋ณด๋‹ˆ Listener๋ฅผ ๋‹ฌ์•„์•ผํ•˜๋‚˜ ํ•˜๋Š” ์ƒ๊ฐ์„ ํ•˜๋ฉด ๋ญ”๊ฐ€ ์‚ฌ์ด๋“œ ์ดํŽ™ํŠธ๊ฐ€ ๋งŽ์ด ์ƒ๊ธธ ๊ฒƒ ๊ฐ™๊ณ  ๊ท€์ฐฎ์€ ์ž‘์—…์ด ๋˜๊ฒ ๋‹ค ์‹ถ์–ด์„œ ๊ตฌ๊ธ€๋ง์„ ํ•ด๋ณด๋‹ˆ Event Bus ๋ผ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๋ผ๋Š” ์ถ”์ฒœ ๊ธ€์„ ๋ณด๊ฒŒ ๋๋‹ค. Event Bus๊ฐ€ ๋ญ์•ผ? ๐ŸšŒ๋ฒ„์Šค์—์„œ ๐ŸŽ‰์ด๋ฒคํŠธ๐ŸŽ‰ ํ•˜๋‚˜? (์ฃ„์†กํ•ฉ๋‹ˆ๋‹ค) ๋ผ๋Š” ์ƒ๊ฐ์— ๊ด€๋ จ ๊ธ€์„ ์ฐพ์•„๋ณด๋‹ˆ ๋ฒ„์Šค ๋„คํŠธ์›Œํฌ์˜ ๋™์ž‘ ๋ฐฉ์‹๊ณผ ์œ ์‚ฌํ•˜๊ฒŒ ํ•˜๋‚˜์˜ ์ด๋ฒคํŠธ๋ฅผ ๋™์ผ ์ฑ„๋„์— ์—ฐ๊ฒฐ๋œ ๋ชจ๋“  ๋…ธ๋“œ(Subscriber)๋“ค์—๊ฒŒ ๋ณด๋‚ด๋Š” ๋ฐฉ์‹ ์ด๋ผ๋Š”๋ฐ ๊ฐ„๋‹จํ•˜๊ฒŒ ๋‚˜์˜ ์šฉ์–ด๋กœ ์„ค๋ช…ํ•˜์ž๋ฉด A ์ฑ„๋„์„ ๊ตฌ๋…ํ•˜๋Š” ๋ชจ๋“  ์‚ฌ์šฉ์ž์—๊ฒŒ ์•Œ๋ฆผ(evnet)์„ ๋ณด๋‚ธ๋‹ค. Github์— ํ•ด๋‹น ์ด๋ฏธ์ง€๋„ ๊ฐ™์ด ์žˆ๋‹ค. (์‚ฌ์‹ค ์ฒ˜์Œ..

Android_DevKick
๐Ÿ’ป ๊ฐœ๋ฐœ์ฐจ๊ธฐ ๐Ÿฅ‹ feat.Android