๐Ÿ’ป ๊ฐœ๋ฐœ/Android

    [Android] MVVM ํŒจํ„ด ์ ์šฉ๊ธฐ - 2

    GitHub - k906506/MVVM: ๐Ÿ”จ MVVM์ด ๋ญ์—์š”? ๐Ÿ”จ MVVM์ด ๋ญ์—์š”? Contribute to k906506/MVVM development by creating an account on GitHub. github.com MVVM ๋‘ ๋ฒˆ์งธ ์‹œ๊ฐ„์ด๋‹ค. ๊ฐ‘์ž‘์Šค๋Ÿฝ๊ฒŒ ์ฐพ์•„์˜จ ์ด์œ ๋Š” ์กธํ”„๋ฅผ ์ง„ํ–‰ํ•˜๋‹ค๊ฐ€ RecyclerView ๋ฅผ Room ์„ ์‚ฌ์šฉํ•ด์„œ MVVM ํŒจํ„ด ์œผ๋กœ ๊ตฌํ˜„ํ–ˆ๋Š”๋ฐ ์ •์ƒ์ ์œผ๋กœ ์ž‘๋™ํ•˜์ง€ ์•Š์•„์„œ RecyclerView + Room + MVVM ์„ ์ •๋ฆฌํ•˜๊ณ  ์ฝ”๋“œ๋ฅผ ๋‹ค์‹œ ๋ณด๋ ค๊ณ  ํ•œ๋‹ค. ์šฐ์„  MVVM ์„ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์œ„์˜ ๊ทธ๋ฆผ์„ ์ดํ•ดํ•˜๊ณ  ๋„˜์–ด๊ฐ€๋Š” ๊ฒƒ์ด ์ข‹๋‹ค. ๊ทธ๋ฆผ์—์„œ ์ฃผ์˜๊นŠ๊ฒŒ ๋ด์•ผํ•  ๊ฒƒ์€ ํ™”์‚ดํ‘œ์˜ ๋ฐฉํ–ฅ ์ด๋‹ค. ๋ชจ๋“  ํ™”์‚ดํ‘œ๊ฐ€ ๋‹จ๋ฐฉํ–ฅ์œผ๋กœ ์—ฐ๊ฒฐ ๋˜์–ด์žˆ๊ณ  ์ƒ์œ„ ์š”์†Œ๋Š” ํ•˜์œ„ ์š”์†Œ๋ฅผ ์ฐธ์กฐํ•œ๋‹ค. ์ฐธ์กฐ..

    [Android] MVVM ํŒจํ„ด ์ ์šฉ๊ธฐ - 1

    GitHub - k906506/MVVM: ๐Ÿ”จ MVVM์ด ๋ญ์—์š”? ๐Ÿ”จ MVVM์ด ๋ญ์—์š”? Contribute to k906506/MVVM development by creating an account on GitHub. github.com ์š”์ฆ˜ MVVM ์— ๋Œ€ํ•ด์„œ ๊ณต๋ถ€ํ•˜๊ณ  ์žˆ๋‹ค. ์ง€๊ธˆ๊นŒ์ง€ ์•ฑ ๊ตฌํ˜„ํ•  ๋•Œ ๊ทธ๋ƒฅ ์•กํ‹ฐ๋น„ํ‹ฐ์— ๋‹ค ๋•Œ๋ ค๋ฐ•์•˜์—ˆ๋Š”๋ฐ ๋ชจ๋ธ์ด๋ž‘ ๋ทฐ๊ฐ€ ๋„ˆ๋ฌด ๊ฐ•ํ•˜๊ฒŒ ๊ฒฐํ•ฉ๋˜์–ด ์žˆ๋Š” ๋Š๋‚Œ์ด ๊ฐ•ํ–ˆ๋‹ค. ๋˜ํ•œ ๋Œ€๋ถ€๋ถ„์˜ ๋กœ์ง์„ ๋ทฐ(์•กํ‹ฐ๋น„ํ‹ฐ)์—์„œ ์ฒ˜๋ฆฌํ•˜๊ณ  ํ•˜๊ณ  ์žˆ์—ˆ๊ณ  ์žฌ์‚ฌ์šฉ์„ฑ์ด ๋งค์šฐ ๋–จ์–ด์กŒ์—ˆ๋‹ค. ์‹ค์ œ๋กœ ๊ฒจ์šธ๋ฐฉํ•™์— ์ง„ํ–‰ํ–ˆ๋˜ ๊ธ€๋กœ๋ฒŒ์ธ์žฌํŠธ๋ž™ ๋•Œ ์–ดํ”Œ ์„ ํ•˜๋‚˜ ๋งŒ๋“ค์—ˆ๊ณ  ๋‚˜๋ฆ„ ๋ถ„๋ฆฌํ•œ๋‹ค๊ณ  ๋ถ„๋ฆฌํ–ˆ๋Š”๋ฐ ์ง„์งœ ์žฌ์‚ฌ์šฉ์„ฑ์ด 0 ์ด์—ˆ๋‹ค. MVC ๊ฐ€ ๊ตฌํ˜„ํ•˜๊ธฐ๋Š” ์ •๋ง ํŽธํ–ˆ์ง€๋งŒ ์ด ๊ธฐํšŒ์— ํŒจํ„ด ๊ณต๋ถ€๋„ ํ• ๊ฒธ MVVM ์„ ์ ‘ํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค. ๋ฌผ๋ก  MVC ..

    [Android] ์นด๋ฉ”๋ผ ๋˜๋Š” ๊ฐค๋Ÿฌ๋ฆฌ์—์„œ ์ด๋ฏธ์ง€ ๊ฐ€์ ธ์˜ค๊ธฐ

    ๊ตฌํ˜„ ๊ธฐ๋Šฅ ์นด๋ฉ”๋ผ ์™€ ๊ฐค๋Ÿฌ๋ฆฌ ์—์„œ ์ด๋ฏธ์ง€๋ฅผ ๋ถˆ๋Ÿฌ์™€ ImageView ์— ๋„ฃ์–ด์ฃผ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ ์ฝ”๋“œ ๊ตฌํ˜„ ๊ฒฐ๊ณผ ์˜ค๋ฅ˜ ๋‚ด์šฉ ์นด๋ฉ”๋ผ ์—์„œ ์ด๋ฏธ์ง€ ๋ฅผ ์ดฌ์˜ํ•˜๊ณ  ์ด๋ฅผ ์ „๋‹ฌ๋ฐ›์œผ๋ฉด ์ •์ƒ์ ์œผ๋กœ ImageView ์— ์‚ฝ์ž…๋˜๋Š”๋ฐ ๊ฐค๋Ÿฌ๋ฆฌ ์—์„œ ์ด๋ฏธ์ง€ ๋ฅผ ์„ ํƒํ•˜๊ณ  ์ด๋ฅผ ์ „๋‹ฌ๋ฐ›์œผ๋ฉด ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์ข…๋ฃŒ๋˜๋Š” ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค. ์šฐ์„  ์˜ค๋ฅ˜ ๋‚ด์šฉ์€ null , ์ฝ์–ด๋ณด๋‹ˆ null ์„ ๋น„ํŠธ๋งต ์ด๋ฏธ์ง€๋กœ ๋ณ€ํ™˜ํ•  ์ˆ˜ ์—†๋‹ค๋Š” ์˜ค๋ฅ˜์˜€๋‹ค. ์ด์œ ๋Š” ๊ฐ„๋‹จํ–ˆ๋‹ค. ์นด๋ฉ”๋ผ ์—์„œ ์ดฌ์˜ํ•œ ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ ธ์˜ฌ ๋•Œ onActivityResult ํ•จ์ˆ˜์—์„œ data ๋ฅผ ํ†ตํ•ด ์ดฌ์˜ํ•œ ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ ธ์˜ค๋Š”๋ฐ ์ด ๋•Œ data?.extras?.get("data") ๋ฅผ ํ†ตํ•ด์„œ ์ด๋ฏธ์ง€ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜จ๋‹ค. ์œ„ ์ฝ”๋“œ๊ฐ€ ์นด๋ฉ”๋ผ์—์„œ ์ดฌ์˜ํ•œ ์ด๋ฏธ์ง€์ด๋ฉด ์ •์ƒ์ ์œผ๋กœ ๋™์ž‘ํ•˜์ง€๋งŒ ๊ฐค๋Ÿฌ๋ฆฌ์—์„œ ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ ธ..

    [Android] ๋‹ค๊ตญ์–ด ์ง€์›

    ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ œ์ž‘ ๊ณผ์ •์—์„œ ์—ฌ๋Ÿฌ ์–ธ์–ด๋ฅผ ์ง€์›ํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ๋‹ค. 1. ์šฐ์„  ๊ธฐ๋ณธ์ ์œผ๋กœ ์˜์–ด๋กœ ์„ ์–ธํ–ˆ๋‹ค๊ณ  ์น˜์ž. 2. res > values > strings ์— ์ƒˆ๋กœ์šด strings.xml ์„ ์ถ”๊ฐ€ํ•œ๋‹ค. 3. locale์„ ์„ ํƒํ•˜๊ณ  >> ๋ฅผ ํด๋ฆญํ•œ๋‹ค. 4. ko, South Korea ๋ฅผ ํด๋ฆญํ•œ๋‹ค. 5. ํŒŒ์ผ์ด ์ƒ์„ฑ๋œ ๋ชจ์Šต์ด๋‹ค. 6. ์˜์–ด๋กœ ์„ ์–ธํ•œ string.xml ๊ณผ ๊ฐ™์€ name์„ ๊ฐ€์ง„ string ํƒœ๊ทธ๋ฅผ ์ƒ์„ฑํ•˜๊ณ  value๋งŒ ํ•œ๊ตญ์–ด๋กœ ๋ฐ”๊ฟ”์ค€๋‹ค. 7. ๋ณ„๋‹ค๋ฅธ ์ˆ˜์ • ์—†์ด ๊ธฐ๋ณธ ์–ธ์–ด๋งŒ ๋ณ€๊ฒฝํ•ด๋„ ์•ฑ ๋‚ด๋ถ€์˜ ํ…์ŠคํŠธ๊ฐ€ ๋ณ€๊ฒฝ๋˜๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.