๐Ÿงฉ์•ˆ๋“œ๋กœ์ด๋“œ/๊ฐœ๋… ์ •๋ฆฌ

    [Android/Kotlin] MVVM ํŒจํ„ด, AAC

    MVVM ํŒจํ„ด ์ •์˜ Model, View, ViewModel์˜ ์•ฝ์ž Model MVC์™€ ๋™์ผ ์ฃผ๋กœ DB ์‚ฌ์šฉ ๋˜๋Š” API ํ˜ธ์ถœ์„ ์˜๋ฏธ View Activity, Fragment (xml ํŒŒ์ผ + Activity, Fragment ํŒŒ์ผ) ์‚ฌ์šฉ์ž์˜ ์ž…๋ ฅ์„ ๋ฐ›์Œ ViewModel์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๊ด€์ฐฐํ•˜์—ฌ UI ๊ฐฑ์‹  ViewModel์˜ ๋ ˆํผ๋Ÿฐ์Šค๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์Œ UI ๋ณ€๊ฒฝ๊ณผ ๊ด€๋ จ๋œ ์‚ฌํ•ญ๋งŒ ์ฒ˜๋ฆฌ (Model์„ ์•Œ๋ฉด ์•ˆ ๋จ) ViewModel View๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉ์ž ์ž…๋ ฅ์„ ๋ฐ›์œผ๋ฉด Model์— ์•Œ๋งž์€ ๋ฐ์ดํ„ฐ ์š”์ฒญ Model์—์„œ ๋ฐ›์•„์˜จ ๋ฐ์ดํ„ฐ๋ฅผ ์•Œ๋งž๊ฒŒ ๊ฐ€๊ณตํ•˜์—ฌ ๊ฐ’ ๊ฐฑ์‹  View, Context์˜ ์กด์žฌ๋ฅผ ์•Œ๋ฉด ์•ˆ ๋จ MVVM ํŒจํ„ด์—์„œ View์™€ Model ์‚ฌ์ด์˜ ์˜์กด์„ฑ์ด ์กด์žฌํ•˜๋ฉด ์•ˆ ๋จ (View๋Š” ViewModel๋งŒ ๊ด€์ฐฐํ•˜๋Š”..

    [Android/Kotlin] MVP ํŒจํ„ด

    MVP ํŒจํ„ด MVC ํŒจํ„ด์ด ๋ญ”์ง€ ๋ชจ๋ฅธ๋‹ค๋ฉด ๋จผ์ € ์ด ๊ธ€์„ ๋ณด๊ณ  ์˜ค์ž! https://ku-hug.tistory.com/187 [Android/Kotlin] MVC ํŒจํ„ด MVC ํŒจํ„ด ๋””์ž์ธ ํŒจํ„ด์ด ๋ญ”์ง€ ๋ชจ๋ฅธ๋‹ค๋ฉด ๋จผ์ € ์ด ๊ธ€์„ ๋ณด๊ณ  ์˜ค์ž! https://ku-hug.tistory.com/181 MVC -> MVP -> MVVM ์ˆœ์„œ๋กœ ๊ณต๋ถ€ํ•˜๊ฒ ๋‹ค. ๋””์ž์ธ ํŒจํ„ด์ด๋ž€? ์‰ฝ๊ฒŒ ๋งํ•˜๋ฉด ๋””์ž์ธ ํŒจํ„ด = ๊ฒ€์ฆ" data-og-host="ku-hu.. ku-hug.tistory.com Model, View, Presenter์˜ ์•ฝ์ž Model MVC์˜ Model๊ณผ ๋™์ผ View MVC์˜ View + MVC์˜ Controller (= xml ํŒŒ์ผ๊ณผ Fragment, Activity ํŒŒ์ผ) ์‚ฌ์šฉ์ž์˜ ์ž…๋ ฅ์„ ๋ฐ›๊ณ  ์ด๋ฒคํŠธ๋ฅผ Pre..

    [Android/Kotlin] MVC ํŒจํ„ด

    MVC ํŒจํ„ด ๋””์ž์ธ ํŒจํ„ด์ด ๋ญ”์ง€ ๋ชจ๋ฅธ๋‹ค๋ฉด ๋จผ์ € ์ด ๊ธ€์„ ๋ณด๊ณ  ์˜ค์ž! https://ku-hug.tistory.com/181 [Android] ๋””์ž์ธ ํŒจํ„ด(์ฐธ๊ณ  ๋งํฌ ๋ชจ์Œ) ํ”„๋กœ์ ํŠธ์— MVVMํŒจํ„ด์„ ์ ์šฉํ•˜๊ณ  ์žˆ์œผ๋‚˜ ์ •ํ™•ํ•œ ๊ฐœ๋…์ด ์ˆ™์ง€๋˜์ง€ ์•Š์•„ ์ •๋ฆฌํ•ด๋ณด๋ ค ํ•œ๋‹ค. ์šฐ์„  ๋””์ž์ธ ํŒจํ„ด -> MVC -> MVP -> MVVM ์ˆœ์„œ๋กœ ๊ณต๋ถ€ํ•˜๊ฒ ๋‹ค. ๋””์ž์ธ ํŒจํ„ด์ด๋ž€? ์‰ฝ๊ฒŒ ๋งํ•˜๋ฉด ๋””์ž์ธ ํŒจํ„ด = ๊ฒ€์ฆ ku-hug.tistory.com Model, View, Controller์˜ ์•ฝ์ž. Model ์ถœ๋ ฅํ•  ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ–๊ณ  ๊ฐ์ข… ์ฒ˜๋ฆฌ๋ฅผ ํ•œ๋‹ค. (๋ฐ์ดํ„ฐ ๊ฐ€๊ณต, ์ถ”๊ฐ€, ์‚ญ์ œ) View ๋ฐ์ดํ„ฐ๋ฅผ ์‹œ๊ฐํ™”ํ•œ ๋ถ€๋ถ„ ๋ชจ๋ธ์ด ์ฒ˜๋ฆฌํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉ ๋ณด์—ฌ์ฃผ๋Š” ๊ธฐ๋Šฅ๋งŒ ๋‹ด๋‹น (๋กœ์ง์ด๋‚˜ ๋ฐ์ดํ„ฐ๊ฐ€ ๋“ค์–ด๊ฐ€๋ฉด ์•ˆ๋จ) Controller ์‚ฌ์šฉ์ž์˜ ์š”์ฒญ์„ ์ฒ˜..

    [Android] ๋””์ž์ธ ํŒจํ„ด(์ฐธ๊ณ  ๋งํฌ ๋ชจ์Œ)

    ํ”„๋กœ์ ํŠธ์— MVVMํŒจํ„ด์„ ์ ์šฉํ•˜๊ณ  ์žˆ์œผ๋‚˜ ์ •ํ™•ํ•œ ๊ฐœ๋…์ด ์ˆ™์ง€๋˜์ง€ ์•Š์•„ ์ •๋ฆฌํ•ด๋ณด๋ ค ํ•œ๋‹ค. ์šฐ์„  ๋””์ž์ธ ํŒจํ„ด -> MVC -> MVP -> MVVM ์ˆœ์„œ๋กœ ๊ณต๋ถ€ํ•˜๊ฒ ๋‹ค. ๋””์ž์ธ ํŒจํ„ด์ด๋ž€? ์‰ฝ๊ฒŒ ๋งํ•˜๋ฉด ๋””์ž์ธ ํŒจํ„ด = ๊ฒ€์ฆ๋œ ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ์„ค๊ณ„ ๋ฐฉ๋ฒ•์ธ ๊ฒƒ ๊ฐ™๋‹ค. ์•ˆ๋“œ๋กœ์ด๋“œ ์•ฑ์„ ์„ค๊ณ„ํ•  ๋•Œ ๋””์ž์ธ ํŒจํ„ด์„ ์ ์šฉ ์ด๋ฏธ ๊ฒ€์ฆ๋œ ํŒจํ„ด์ด๋ฏ€๋กœ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ผ์ด ์ ๋‹ค. ์ •ํ˜•ํ™”๋œ ํŒจํ„ด์ด๋ฏ€๋กœ ๊ฐœ๋ฐœ์ž ๊ฐ„์˜ ์˜์‚ฌ์†Œํ†ต์ด ์ˆ˜์›”ํ•ด์ง„๋‹ค. ๋” ์œ ์—ฐํ•˜๊ณ  ์ข‹์€ ์ฝ”๋“œ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ๋””์ž์ธ ํŒจํ„ด์€ ํฌ๊ฒŒ 3์ข…๋ฅ˜๋กœ ๋‚˜๋‰œ๋‹ค. ์ƒ์„ฑ ํŒจํ„ด ๊ตฌ์กฐ ํŒจํ„ด ํ–‰์œ„ ํŒจํ„ด ์ƒ์„ฑ ํŒจํ„ด 1. ์ถ”์ƒ ํŒฉํ† ๋ฆฌ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ํ™œ์šฉํ•˜๋Š” ํŒจํ„ด https://sup2is.github.io/2020/06/22/abstract-factory-pattern.html Sup2's bl..

    Android Context(์ปจํ…์ŠคํŠธ)

    ์ปจํ…์ŠคํŠธ(Context) Android ์‹œ์Šคํ…œ์—์„œ ์ œ๊ณตํ•˜๋Š” ์ถ”์ƒ ํด๋ž˜์Šค, ์ปจํ…์ŠคํŠธ๋ฅผ ํ†ตํ•ด ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์— ๊ด€ํ•œ ์‹œ์Šคํ…œ ์ •๋ณด์— ์ ‘๊ทผ ๊ฐ€๋Šฅํ•˜๋‹ค. (getPackageName(), getResources(), startActivity() ๋“ฑ์˜ ๋ฉ”์†Œ๋“œ ์‚ฌ์šฉ๊ฐ€๋Šฅ) ์ปจํ…์ŠคํŠธ์—๋Š” ๋‘ ๊ฐ€์ง€ ์ข…๋ฅ˜๊ฐ€ ์žˆ๋‹ค. 1. ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ปจํ…์ŠคํŠธ(Application Context) ์‹ฑ๊ธ€ํ„ด ์ธ์Šคํ„ด์Šค(์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์‚ด์•„์žˆ๋Š” ๋™์•ˆ ๋ณ€๊ฒฝ๋˜์ง€ ์•Š์Œ) ์•กํ‹ฐ๋น„ํ‹ฐ๋‚˜ ์„œ๋น„์Šค ๊ฐ™์€ ์ปดํฌ๋„ŒํŠธ์—์„œ applicationContext๋ฅผ ์ง์ ‘ ํ˜ธ์ถœํ•˜์—ฌ ์‚ฌ์šฉ ๊ฐ€๋Šฅ 2. ๋ฒ ์ด์Šค ์ปจํ…์ŠคํŠธ(Base Context) ์•กํ‹ฐ๋น„ํ‹ฐ, ์„œ๋น„์Šค, ์ปจํ…ํŠธ ํ”„๋กœ๋ฐ”์ด๋”, ๋ธŒ๋กœ๋“œ ์บ์ŠคํŠธ ๋ฆฌ์‹œ๋ฒ„์˜ ๊ธฐ๋ฐ˜ ํด๋ž˜์Šค ๊ฐ๊ฐ์˜ ์ปดํฌ๋„ŒํŠธ์˜ ์ƒ๋ช…์ฃผ๊ธฐ๋ฅผ ๋”ฐ๋ฅธ๋‹ค. (์ปดํฌ๋„ŒํŠธ๊ฐ€ ์ƒ์„ฑ๋˜๋ฉด ์„œ๋กœ ๋‹ค๋ฅธ ์ปจํ…์ŠคํŠธ๊ฐ€..