๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
728x90

์ „์ฒด ๊ธ€141

Android : ๋กœ๊ทธ์ธ ํ™”๋ฉด ํ•˜์–—๊ฒŒ ๋˜๋Š” ํ˜„์ƒ ์ฒ˜๋ฆฌ ๋ฌธ์ œ๋™๋ฃŒ ๊ฐœ๋ฐœ์ž๋ถ„์ด ๊ตฌํ˜„ํ•œ ๋กœ๊ทธ์ธ ๋ถ€๋ถ„์—์„œ UI ์ƒ์˜ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜์˜€๋‹ค.๋กœ๊ทธ์ธ ๋ฒ„ํŠผ ๋ˆ„๋ฅด๊ณ  ํ™”๋ฉด ๋„˜์–ด๊ฐ€๊ธฐ๊นŒ์ง€ ์•ฝ 4์ดˆ ! ์ •๋„์˜ ์ง€์—ฐ์ด ๋ฐœ์ƒ→ ํ™”๋ฉด์—์„œ ์•„๋ฌด๋Ÿฐ ์ฒ˜๋ฆฌ๊ฐ€ ๋˜์ง€ ์•Š์•„ ์ง„ํ–‰ ์ค‘์ด์ง€ ์ง„ํ–‰ ์ „์ธ์ง€ ์‚ฌ์šฉ์ž์—๊ฒŒ ํ˜ผ๋™์„ ์ฃผ๊ณ  ์žˆ๋‹ค.  ์„œ๋ฒ„ ํ˜ธ์ถœ ์ƒ์˜ ์ฒ˜๋ฆฌ์ฝ”๋ฃจํ‹ด์—์„œ ๋กœ๊ทธ์ธ ์š”์ฒญ ์‹œ 1์ดˆ ์•ˆ์— ์„œ๋ฒ„ ์š”์ฒญ ๋ฐ ์‘๋‹ต์ด ์ˆ˜ํ–‰๋จ์„ ํ™•์ธํ•˜์˜€๋‹ค!!!lifecycleScope.launch { login(id) }UI ์ƒ์˜ ์ฒ˜๋ฆฌ๋กœ๊ทธ์ธ ์ค‘์ด๋ผ๋Š” ์ƒํƒœ๋ฅผ ์‚ฌ์šฉ์ž๊ฐ€ ์•Œ ์ˆ˜ ์žˆ๋„๋ก ์ฝ”๋“œ๋ฅผ ์ถ”๊ฐ€ํ•ด์ฃผ์—ˆ๋‹ค.๊ฐ„๋‹จํ•œ ์ฝ”๋“œ ์ถ”๊ฐ€๋งŒ์œผ๋กœ๋„ ์‚ฌ์šฉ์ž์—๊ฒŒ ํ˜ผ๋™์„ ๋ง‰์•„์ค„ ์ˆ˜ ์žˆ์Œ์„ ์•Œ ์ˆ˜ ์žˆ์—ˆ๋‹ค 2024. 8. 29.
Android : ๊ฐ์ƒ๋ฌธ ๋“ฑ๋ก ๊ณผ์ • ์ •๋ฆฌ ๋“ค์–ด๊ฐ€๊ธฐ ์ „์— ๋“œ๋””์–ด ๊ฐ์ƒ๋ฌธ์„ ๋“ฑ๋กํ•˜๋Š” ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•ด๋ณด์•˜๋‹ค.์˜ํ™” ๊ฒ€์ƒ‰ - ์˜ํ™” ์„ ํƒ - ๊ฐ์ƒ๋ฌธ ์ž‘์„ฑ - ์ธ๋„ค์ผ ์„ ํƒ - ๊ฐ์ƒ๋ฌธ ์ž‘์„ฑ ์™„๋ฃŒ - ๋“ฑ๋ก ํ๋ฆ„์œผ๋กœ ๊ตฌํ˜„ํ•ด๋ณผ ์˜ˆ์ •์ด๋‹น ๊ตฌ์กฐ ๋จผ์ € ๊ตฌ์กฐ๋Š” ๋ฉ˜ํ†  ๊ฐœ๋ฐœ์ž๋ถ„๊ป˜์„œ ์•Œ๋ ค์ฃผ์‹  Effect, Event ๊ตฌ์กฐ๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๊ตฌํ˜„ํ•ด๋ณด์•˜๋‹ค. ์ฒ˜์Œ์—๋Š” ํด๋” ๊ตฌ์กฐ๋ฅผ ์–ด๋–ป๊ฒŒ ํ•˜๋ฉด ์ข‹์„์ง€, ํ”„๋ž˜๊ทธ๋จผํŠธ์™€ ์•กํ‹ฐ๋น„ํ‹ฐ๋ฅผ ์–ธ์ œ ์‚ฌ์šฉํ•˜๋Š”์ง€ ๊ธฐ์ค€์ด ๋ช…ํ™•์น˜ ์•Š์•„ ์–ด๋ ค์›€์ด ์žˆ์—ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์•ˆ๋“œ๋กœ์ด๋“œ ๊ฐœ๋ฐœ์ž ์งˆ๋ฌธ๋ฐฉ์— ์งˆ๋ฌธ์„ ์˜ฌ๋ ธ๋”๋‹ˆ ๋‹ต๋ณ€์„ ๋ฐ›์„ ์ˆ˜ ์žˆ์—ˆ๋‹ค!! ๋‘ ๊ฐ€์ง€ ๋ฐฉ์‹ ๋ชจ๋‘ ํ•ด๋ณผ ๊ณ„ํš์ด์ง€๋งŒ ์ด๋ฒˆ์—๋Š” feature ๋‹จ์œ„๋กœ ์ƒ์œ„ activity์— ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํ•˜์œ„ fragment ๋ฅผ ๊ฐ–๋Š” ๊ตฌ์กฐ๋กœ ๊ตฌ์„ฑํ•ด๋ณด์•˜๋‹ค.๋จผ์ € ๊ฒฐ๊ณผ ์˜์ƒ๋ถ€ํ„ฐ ๋ณด์žฅ!! - ํ”„๋ž˜๊ทธ๋จผํŠธ ์ „ํ™˜- ํ”„๋ž˜๊ทธ๋จผํŠธ ๊ฐ„ ๋ฐ์ดํ„ฐ ์ „๋‹ฌ 2024. 8. 29.
Android : suspend function์ด๋ž€? suspend function๊ฐ€ ํ•„์š”ํ•œ ์ด์œ , ์ด๊ฒƒ์ด ์—†๋‹ค๋ฉด ?ํ•˜๋‚˜์˜ ์Šค๋ ˆ๋“œ๊ฐ€ block ๋˜๋ฉด ํ•ด๋‹น thread๋Š” ๋‹ค๋ฅธ ์ž‘์—…์„ ํ•  ์ˆ˜ ์—†๋Š” block ์ƒํƒœ์— ๋†“์ด๊ฒŒ ๋œ๋‹ค.์ฆ‰ blocked ์ƒํƒœ๊ฐ€ ๋๋‚  ๋•Œ๊นŒ์ง€ ํ•ด๋‹น ์Šค๋ ˆ๋“œ๋Š” ์ค‘์ง€ ์ƒํƒœ์ธ ๊ฒƒ์ด๋‹ค!๊ทธ๋Ÿฌ๋‚˜ suspend ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด blocked ๋œ ์ƒํƒœ์— ๋†“์ผ ๋•Œ, ๊ทธ ์ž‘์—…์„ suspend ํ•˜๊ณ  ๊ทธ ๊ธฐ๊ฐ„๋™์•ˆ thread์—์„œ ๋‹ค๋ฅธ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋šฑ์ด์˜ ํ•˜๋ฃจ : ํ•˜๋‚˜์˜ ์Šค๋ ˆ๋“œ์•ˆ๋“œ ๊ฐœ๋ฐœ์„ ํ•˜๋‹ค๊ฐ€ ๋นŒ๋“œ ์‹œ๊ฐ„์ด 3๋ถ„ !!! ๊ฑธ๋ฆฌ๋Š” ํ”Œ์ ์„ ๋นŒ๋“œ์‹œํ‚ด : 3๋ถ„๋™์•ˆ blocked ๋‹นํ•œ ์ƒํƒœ suspend function์˜ ๊ฒฝ์šฐ : ๋นŒ๋“œ๊ฐ€ ๋Œ์•„๊ฐ€๋Š” 3๋ถ„๋™์•ˆ ๋ผ๋ฉด์„ ๋“์ผ ์ˆ˜ ์žˆ์Œsuspend function์ด ์•„๋‹Œ ๊ฒฝ์šฐ : ์•ˆ๋“œ ๋นŒ๋“œ๊ฐ€ ๋๋‚  ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ ค์•ผํ•จ ๐Ÿ’ก .. 2024. 8. 29.
Android : scope function ์•Œ์•„๋ณด๊ธฐ ( apply, run, with, let ๋“ฑ๋“ฑ) ๋“ค์–ด๊ฐ€๊ธฐ ์ „์—์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋ฉด์„œ apply์™€ ๊ฐ™์€ ํ•จ์ˆ˜๋ฅผ ์“ฐ๋ฉด์„œ ์œ ์šฉํ•จ์„ ๋Š๋ผ๊ณ  ์žˆ๋Š”๋ฐ ์ •์ž‘ scope function์ด ๋ฌด์—‡์ธ์ง€ ๊ฐ ์—ญํ• ์ด ๋ฌด์—‡์ธ์ง€ ์ดํ•ดํ•˜๊ณ  ์žˆ์ง€ ์•Š์Œ์„ ๋Š๊ผˆ๋‹ค. ์ด๋ฒˆ ๊ธฐํšŒ์— ์ œ๋Œ€๋กœ ์ดํ•ดํ•˜๊ณ  ๋„˜์–ด๊ฐ€๋ณด์žscope function: ํŠน์ • ๊ฐ์ฒด์˜ ์ปจํ…์ŠคํŠธ ๋‚ด์—์„œ ํŠน์ • ๋™์ž‘( ํ”„๋กœํผํ‹ฐ ์ดˆ๊ธฐํ™”, ํ™œ์šฉ) ๋“ฑ์„ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•œ ๋ชฉ์ ๋งŒ์„ ๊ฐ€์ง€๋Š” ํ•จ์ˆ˜์Šค์ฝ”ํ”„ ํ•จ์ˆ˜๋ฅผ ๋žŒ๋‹ค ํ•จ์ˆ˜๋กœ ์‚ฌ์šฉํ•˜๊ฒŒ ๋˜๋ฉด ์ž„์‹œ๋กœ ์Šค์ฝ”ํ”„๋ฅผ ํ˜•์„ฑํ•˜๋Š”๋ฐ ์ด ์Šค์ฝ”ํ”„ ๋‚ด์—์„œ๋Š” ๊ฐ์ฒด์˜ ์ด๋ฆ„์„ ํ†ตํ•ด ์ผ์ผ์ด ์ฐธ์กฐํ•  ํ•„์š”์—†์ด ๊ฐ์ฒด์— ์ ‘๊ทผ & ํ•ธ๋“ค๋งํ•  ์ˆ˜ ์žˆ๋‹คfun main() {} class Book(var name: String, var price:Int) { fun discount() { print -= 2000 } } apply์ธ์Šคํ„ด์Šค๋ฅผ ์ƒˆ.. 2024. 8. 29.
728x90