๊พธ์ค€ํ•จ์ด ์ง„๋ฆฌ๋‹ค!!

์–ด์ œ๋ณด๋‹ค ๋ฐœ์ „ํ•œ ์˜ค๋Š˜์ด ๋˜๊ณ ํ”ˆ ๐Ÿง‘๐Ÿปโ€๐Ÿ’ป ์˜ ๋ธ”๋กœ๊ทธ

livedata 2

[Kotlin][Android] ์•ˆ๋“œ๋กœ์ด๋“œ Coroutine Flow ์ ์šฉํ•˜๊ธฐ (2) ( LiveData๋ฅผ Flow๋กœ ๋ณ€๊ฒฝํ•˜๊ธฐ : LiveData ์™€ Flow ๋น„๊ตํ•˜๊ธฐ )

์•ˆ๋…•ํ•˜์„ธ์š” ๐Ÿ‘‹ ์˜ค๋Š˜์€ ์ €๋ฒˆ ํฌ์ŠคํŒ…์— ์ด์–ด LiveData๋ฅผ Flow๋กœ ์ด์ „ํ•˜๋Š” ๊ณผ์ •์„ ํฌ์ŠคํŒ…ํ•ด๋ณด๋ ค ํ•ฉ๋‹ˆ๋‹ค. ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ, LiveData์™€ Flow์˜ ์ฐจ์ด์ ์— ๋Œ€ํ•ด์„œ๋„ ํ•จ๊ป˜ ๋‹ค๋ค„๋ณผ ์˜ˆ์ •์ž…๋‹ˆ๋‹ค ๐Ÿ˜ƒ ์ด์ „ ํฌ์ŠคํŒ…์€ ์•„๋ž˜ ๋งํฌ๋ฅผ ํ†ตํ•ด ์ฐธ๊ณ  ๋ฐ”๋ž๋‹ˆ๋‹ค. ๐Ÿ™ [Kotlin][Android] ์•ˆ๋“œ๋กœ์ด๋“œ Coroutine Flow ์ ์šฉํ•˜๊ธฐ (1) (๋„คํŠธ์›Œํฌ ํ†ต์‹  Flow๋กœ ์ด์ „ํ•˜๊ธฐ) ์•ˆ๋…•ํ•˜์„ธ์š” ๐Ÿ‘‹ ์˜ค๋Š˜์€ ์•ˆ๋“œ๋กœ์ด๋“œ MVVMํŒจํ„ด์—์„œ Flow๋ฅผ ์–ด๋–ป๊ฒŒ ์ ์šฉํ•˜๋Š”์ง€๋ฅผ ์•Œ์•„๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค ๐Ÿ˜Ž Flow์— ๋Œ€ํ•œ ๊ธฐ๋ณธ ํฌ์ŠคํŒ…์€ ์•„๋ž˜ ๋งํฌ๋ฅผ ์ฐธ๊ณ  ๋ฐ”๋ž๋‹ˆ๋‹ค ๐Ÿ™ [Kotlin] ์ฝ”ํ‹€๋ฆฐ Coroutine์— ๋Œ€ํ•˜์—ฌ (3) - devyo-111commit.tistory.com LiveData๋ฅผ Flow๋กœ ๋ณ€๊ฒฝํ•˜๊ธฐ์— ์•ž์„œ ๋‘˜์˜ ์ฐจ์ด์ ๊ณผ ์™œ Flow..

Android/Kotlin 2023.03.23

[Android] ์•ˆ๋“œ๋กœ์ด๋“œ LiveData ๋ฐ”๋กœ ์ˆ˜์ • ๋˜์ง€ ์•Š๋Š” ์ด์œ  ๋ฐ ํ•ด๊ฒฐ๋ฐฉ์•ˆ - setValue() ์™€ postValue()์˜ ์ฐจ์ด์ 

์•ˆ๋…•ํ•˜์„ธ์š” ๐Ÿ‘‹ ์˜ค๋Š˜์€ ๊ฐœ๋ฐœ ์ค‘์— ๋งˆ์ฃผ์นœ ์ž‘์€ ์ด์Šˆ๋ฅผ ์ˆ˜์ •ํ•˜๋‹ค๊ฐ€ ์•Œ๊ฒŒ ๋œ ์‚ฌ์‹ค์— ๋Œ€ํ•ด์„œ ๊ฐ„๋‹จํ•˜๊ฒŒ ํฌ์ŠคํŒ…ํ•ด๋ณด๋ ค ํ•ฉ๋‹ˆ๋‹ค. ์ €๋Š” ViewModel์„ ์‚ฌ์šฉ์‹œ์— LiveData์˜ ๊ฐ’์„ ๋ณ€๊ฒฝํ•˜๊ฒŒ ๋˜๋ฉด postValue() ํ•จ์ˆ˜๋ฅผ ์ฃผ๋กœ ์‚ฌ์šฉํ•˜์˜€์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ViewModel์˜ ๊ฐ’์„ ๋ณ€๊ฒฝ ํ›„์— ๋ฐ”๋กœ ๊ฐ’์„ ์ฝ์œผ๋ ค ํ•  ๊ฒฝ์šฐ ๋ณ€๊ฒฝ๋œ ๊ฐ’์„ ์ฝ์ง€ ๋ชปํ•˜๊ณ ์ด์ „ ๊ฐ’์„ ์ฝ์–ด ๋™์ž‘์ด ์ž˜๋ชป๋˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋”๋Ÿฌ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ๐Ÿค” ์•Œ์•„๋ณด๋‹ˆ ํ•ด๊ฒฐ๋ฐฉ๋ฒ•์€ ์•„์ฃผ ๊ฐ„๋‹จํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ฐ”๋กœ ๊ฐ’์„ ๋ณ€๊ฒฝํ•˜์—ฌ ์ฝ์–ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ์—๋Š” postValue()๋ฅผ ํ†ตํ•œ ๋ณ€๊ฒฝ์ด ์•„๋‹Œ setValue()๋ฅผ ํ†ตํ•ด ๊ฐ’์„ ๋ณ€๊ฒฝํ•˜์—ฌ ์ฝ์œผ๋ฉด ๋ฉ๋‹ˆ๋‹ค. ๐Ÿคฉ ์ด๋ ‡๊ฒŒ ๋˜๋Š” ๊ฒƒ์ด ๋‹น์—ฐํ•œ๋ฐ ํ•ด๋‹น ๋ถ€๋ถ„์— ๋Œ€ํ•ด์„œ๋Š” ์•„๋ž˜ ์„ค๋ช…์„ ์ฐธ๊ณ  ๋ถ€ํƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค. setValue()์™€ postValue()์˜ ์ฐจ์ด ๋จผ์ € ๋‘..

Android 2022.12.02