728x90 ๐ค2024 ์๋๋ก์ด๋/Filmo ์ํ ํ๋ก์ ํธ35 ์ฌ๋ฌ ๊ฐ์ flow์ combine์ผ๋ก ์ฒ๋ฆฌํ๊ธฐ Combine์ผ๋ก ์ฌ๋ฌ flow ์ฒ๋ฆฌํ๊ธฐ๋ฆฌ์ฌ์ดํด๋ฌ๋ทฐ์ ๋ณด์ฌ์ค ์์ดํ ์ ์ฌ๋ฌ api ์๋ต๊ฐ์ ์กฐํฉํด์ ๋ง๋ค์ด์ผํ๋ค.์ข์์ ์ํ ๊ฐ์ likeRepository์ checkLikeํจ์๋ก ๋ถํฐ ๋ฐ๊ณ emit ํด์ฃผ๋ flow๋ฅผ ์์ฑํด์ค ํ ์ด๋ฅผ ๋ทฐ๋ชจ๋ธ์์ ์ฒ๋ฆฌํด์ฃผ๋ ค๊ณ ํ์๋ค.!!class GetLikeStateUseCase @Inject constructor(private val likeRepository: LikeRepository) { operator fun invoke(reportId: String): Flow = flow { val result = likeRepository.checkLike(reportId = reportId) emit(resul.. 2024. 7. 5. ์ฝ๋ ์ง๋ฌธ & ๋ต๋ณ ์ ๋ฆฌ ๋ค์ด๊ฐ๊ธฐ ์ ์๋๋ 6์ 22์ผ ์ฃผ๋ง ์ ๋ ์ ํจ๊ป ํ๋ก์ ํธ๋ฅผ ํ๋ ๊ฐ๋ฐ์๋ถ๊ณผ ๋ฏธํธ๋ก ๋ชจ๋ฅด๋ ๋ถ๋ถ์ ๋ํด ์ด์ผ๊ธฐ ๋๋๋ ์์คํ ์๊ฐ์ ๊ฐ์ก๋ค. ๋ต๋ณ์ผ๋ก ๋ค์๋ ๋ด์ฉ์ ์ ๋ฆฌํด๋๊ณ ๊ณต๋ถํด๋ณด๋ ค ํ๋ค!! event์ effect์ ์ฐจ์ด์ง๋ ๋ฒ pr์ ํตํด ์ง๋ฌธ์ ๋๋ฆฐ ์ ์ด ์์๋ค. ๊ทธ๋ฌ๋ ์์ ํ ์ดํด๊ฐ ๋์ง ์์ ๋ค์ ํ๋ฒ ์ง๋ฌธ์ ๋๋ ธ๋ค.๋ต๋ณ์ ์๋์ ๊ฐ์๋ค. event๋ ์ฌ์ฉ์ ์์ฒญ, ์ฌ์ฉ์ ํ์์ ๊ด๋ จ๋ ๊ฒeffect๋ ์ด๋ฒคํธ ๋์์ผ๋ก ๋ฐ์๋ ๊ฒ์ผ๋ก, ์ด๋ฒคํธ์ ๊ฒฐ๊ณผ๋ก์ ui์ ์ํ ๋ณํ ๋ฑ์ด ํฌํจ๋๋ค. ํด๋ฆญ ์ด๋ฒคํธ๊ฐ ์ผ์ด๋๋ฉด click event -> click listener -> effect (์ด๋ฒคํธ ๊ฒฐ๊ณผ)ํด๋ฆญ ์ด๋ฒคํธ๊ฐ ์ด๋ฃจ์ด์ง๋ฉด -> handle event -> ui ์ํ ๋ณํ side effect !!.. 2024. 6. 24. Android LiveData & StateFlow ์ฐจ์ด ๋น๊ตํด๋ณด๊ธฐ(์์ฑ์ค) ๐๋ค์ด๊ฐ๊ธฐ ์ ์Android ๋ทฐ์ ๋ณด์ด๋ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๊ธฐ ์ํด ๋ทฐ๋ชจ๋ธ์ ์ฌ์ฉํ๊ณ ์๋ค.์๋ฒ์์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ค๋ฉด ์ด๋ฅผ ๋ฆฌ์ฌ์ดํด๋ฌ๋ทฐ์ ๋ํ๋ด๊ธฐ ์ํด LiveData๋ฅผ ์ฌ์ฉํ๊ณ ์๋ค.ViewModel๊ณผ LiveData ๊ทธ๋ฆฌ๊ณ StateFlow์ ๋ํด ์ง์ ๊ตฌํํด๋ณด๋ฉฐ ์ดํดํด๋ณด๋ ค ํ๋ค. ํนํ LiveData์ StateFlow์ ๊ธฐ๋ฅ์ด ์ ์ฌํ๋ฐ ์ด๋ค ์ฐจ์ด๊ฐ ์๋์ง ์์๋ณด๋ ๊ฒ์ด ๋ชฉํ์ด๋ค!๐ซฑUI ์ปจํธ๋กค๋ฌ๋?UI ์ปจํธ๋กค๋ฌ์๋ ํฐ ํ๋ฉด ํ๋๋ฅผ ๋ํ๋ด๋ ์กํฐ๋นํฐ์ ๋ถ๋ถ ํ๋ฉด์ ์ด๋ฃจ๋ ํ๋๊ทธ๋จผํธ๊ฐ ์๋ค. UI ์ปจํธ๋กค๋ฌ๋ ํ๋ฉด์ ๋ทฐ๋ฅผ ๊ทธ๋ฆฌ๊ณ ์ฌ์ฉ์ ์ด๋ฒคํธ๋ ์ฌ์ฉ์์ ์ํธ์์ฉํ๋ ๋ชจ๋ UI ๊ด๋ จ ๋์์ ํฌ์ฐฉํ์ฌ UI๋ฅผ ์ ์ดํ๋ค. ์ด ๋ ์ฑ์ ๋ฐ์ดํฐ ๋๋ ๋ฐ์ดํฐ์ ๊ด๋ จ๋ ๋ก์ง์ UI ์ปจํธ๋กค๋ฌ ํด๋์ค์ ํฌํจ๋์ด์๋ ์๋๋ค.. 2024. 6. 14. Android Recyclerview : no attached adapter , skipping layout ์๋ฌ ํด๊ฒฐ ๊ณผ์ ๊ธฐ๋ก ๐๋ฌธ์ ์ํฉ๋ฉ์ธ ํ๋ฉด์ด ๋ํ๋ ๋ ๋ฆฌ์ฌ์ดํด๋ฌ๋ทฐ๊ฐ ๋ณด์ด์ง ์๋๋ค.๐ซฑ์๋ํ ๋ฐฉ๋ฒ๊ตฌ๊ธ๋ง์ ํตํด ๋ช๊ฐ์ง ์์ธ์ ํ์ ํ ์ ์์๊ณ , ํด๋น ๋ด์ฉ์ ๋ฐ๋ผ ์ฝ๋๋ฅผ ํ์ธํด๋ณด์๋ค.1๏ธโฃsetAdapter๊ฐ ์ ๋๊ณ ์๋์ง ํ์ธํ๋๊ทธ๋จผํธ์์ onViewCreated, onCreateView ์์น ๋ชจ๋์ ์ ์ฉํด๋ณด์์ง๋ง ํด๊ฒฐ๋์ง ์์๋ค.2๏ธโฃ๋ ์ด์์ ๋งค๋์ ๊ฐ ์ ์ค์ ๋์ด์๋์ง ํ์ธํ๋๊ทธ๋จผํธ ์์์ ๋ ์ด์์ ๋งค๋์ ๋ฅผ ์ค์ ํ๋ ๋ฐฉ๋ฒ๊ณผ xml ๋ ์ด์์ ํ์ผ ์์์ ์ค์ ํด์ฃผ๋ ๋ฐฉ๋ฒ์ผ๋ก ๋ชจ๋ ์๋ํ์ง๋ง ํด๊ฒฐ๋์ง ์์๋ค. - ํด๋์ค ๋ด์์ ๋ ์ด์์ ๋งค๋์ ์ค์ binding.reviewRecyclerView.layoutManager = LinearLayoutManager(context) - ๋ ์ด์์ ํ์ผ์์ ๋ ์ด์์ ๋งค๋์ ์ค์ 3๏ธโฃ.. 2024. 5. 15. ์ด์ 1 2 3 4 5 6 7 ยทยทยท 9 ๋ค์ 728x90