Week3 Mentor Meeting - boostcampwm-2021/android05-boomerang GitHub Wiki
Android05- Kotlin Is Good
๋ฉํ ๋ง๋จ with Question
MVVM
- ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ์ฒด์ ์ธ ๊ตฌ์กฐ๋ MVVM ํํ๋ฅผ ๋ฐ๋ฅด๋ ค๊ณ ๋ ธ๋ ฅํ๊ณ ์์ต๋๋ค. DoodleLightFragment๋ฅผ ์ ์ธํ๊ณ ๋ ViewModel์์ Local DataSource์ ์ ๊ทผํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅ, ๋ถ๋ฌ์ค๊ณ ์์ต๋๋ค. ํ์ง๋ง DoodleLightFragment์์๋ ํ์ฌ ViewModel์ ๊ฐ์ง๊ณ ์์ง๋ง ๋ฐ์ดํฐ ํ๋๋ก์จ์ ์ญํ ๋ง ํ๊ณ ์์ต๋๋ค. ์ฝ๋๋ฅผ ์ง๋ฉด์ MVVM ์ค๋ฝ์ง ์๋ค๋ผ๊ณ ๋๊ผ๋๋ฐ ํ ์ ํ๋ฆฌ์ผ์ด์ ๋ด์์ ํ๋ฉด๋ณ๋ก ๋ค๋ฅธ ์ํคํ ์ฒ๊ฐ ์ ์ฉ๋๋ ๊ฒ์ด ๊ด์ฐฎ์์ง ๊ถ๊ธํฉ๋๋ค.
DiffUtil
- DiffUtil์ด call ๋๋ ๊ฒ์ด ๋ค๋ฅธ list๊ฐ submitlist๋์ ๋๋ก ์๊ณ ์์ต๋๋ค. VideoDoodleLightViewModel์์๋ Fragment์์ ๋ฐ์ดํฐ๋ฅผ ํ๋์ฉ ๋ฐ์์์ ViewModel์ ๋ฐ์ดํฐ๋ฅผ ๊ฐฑ์ ํด์ฃผ๋ ๋ฐฉ์์ ์ทจํ๊ณ ์๋๋ฐ ์ด๋ ๊ฒ ์งํํ๋ค๋ณด๋ ๊ณ์ ๊ฐ์ ๋ฆฌ์คํธ๊ฐ submitlist ๋๋ ํํ๊ฐ ๋์ด DiffUtil์ด call ์๋๋ ํ์์ด ๋ฐ์ํ์ต๋๋ค. ViewModel์ Listํํ์ LiveData์ ๋ฐ์ดํฐ์ ์์ดํ ํ๋๋ฅผ ์ถ๊ฐํ ๋ DiffUtil์ด call๋๊ฒ ํ๋ ค๋ฉด ์ด๋ ํ ๋ฐฉ์์ด ์์๊น์? (ํ์ฌ๋ List์ ์์ดํ ์ถ๊ฐํด์ฃผ๋ ๋ถ๋ถ์ value.toMutableList๋ฅผ ํตํด ์๋ก์ด ๋ฆฌ์คํธ๋ก ๊ฐฑ์ ํด์ฃผ๊ณ ์์ต๋๋ค.)
๋ฆฌ์คํธ ์ด๋ํฐ
- ๋ฆฌ์คํธ ์ด๋ํฐ๋ฅผ ์ฌ์ฉํ ๊ฒฝ์ฐ์ notify___ ํจ์๋ค์ ์๋์ผ๋ก ํด์ฃผ๋ ๊ฑธ๋ก ์๊ณ ์์ต๋๋ค. ํ์ง๋ง, ํ ๋ฆฌ์คํธ๋ฅผ ๊ณ์ ์ฌ์ฉํ ๊ฒฝ์ฐ์ notify ํจ์๋ฅผ ์ฌ์ฉํ์๋์ง, ์๋๋ฉด ์ ์ง๋ฌธ์ฒ๋ผ ํ ๋ฆฌ์คํธ๋ฅผ ๋ค๋ฅธ ๋ฆฌ์คํธ๋ก ์ธ์ํ๋ ํธ๋ฆญ์ ์ฌ์ฉํ์๋์ง ๊ถ๊ธํฉ๋๋ค.
๋น์ทํ UI๊ฐ ์ฌ์ฉ๋์ง๋ง ๋ก์ง์ด ์กฐ๊ธ ๋ค๋ฅธ Fragment
- ํด๋น ์ํฉ์์ ์๋ก์ด Fragment ํด๋์ค๋ฅผ ์์ฑํ์ฌ ์ฌ์ฉํ๋ ๊ฒ์ด ์ฌ๋ฐ๋ฅผ์ง ์๋๋ฉด ๊ธฐ์กด Fragment ํด๋์ค์ ๋ก์ง์ ์ถ๊ฐ ํ๋๊ฒ ๋์์ง ๊ถ๊ธํฉ๋๋ค. (๋ค๋ฅธ ์ง์ ์ ์์ ์ ๊ทผ์)
์ฌ์์ ๋ฌธ์
- ๋จ์ด ๋ค ์ฐจ์ ์ฌ๋ผ์ง๋ ๊ฒ ์ฒ๋ผ ๋ณด์ด๋๋ฐ ์ด๋ป๊ฒ ๋ฐฉ์งํด์ผํ ์ง
ํ ์คํธ ์ฑ ๋ฐฐํฌ
- ์ฐ๋ฆฌ๊ฐ Firebase์์ ๋ฐฐํฌํ๊ณ ์๋๋ฐ ํ ์คํธ ํด์ฃผ์ค ์ ์๋์ง(Ivy๋๋ ๋ฐ๊ณ ๊ณ์ ์ ๋ฌผ์ด๋ด)
์๋น์ค ํผ๋๋ฐฑ ๊ด์ ์ง๋ฌธ
- ๊ฐ๋ฅํ์ง?
- ๊ฐ๋ฅํ๋ค๋ฉด ์ด๋ค ๊ด์ ์์ ํด์ฃผ์ค ์์ ์ธ์ง(๊ทธ์ ๋ง๋ ์ง๋ฌธ์ ์ค๋นํ ์์ )
๋ฐ๋ชจ ์๋๋ฆฌ์ค
์ ํ: ํ๋ฉด์ 3๊ฐ ์ด์์ ๋์์๋ฉ๋ชจ
ํํ๋ฉด : ๊ฒ์, ์ ๋ ฌ, FAB
๊ฐค๋ฌ๋ฆฌ ํ๋ฉด : ์ง๋๊ฐ๋ ํ๋ฉด
๋ชจ๋์ ๋ฉ๋ชจ ํ๋ฉด: Play -> ๋ถ์บ ์ ๊ธฐ -> ์บก์ณ ๋ชจ๋์ ๋ฉ๋ชจ ํธ์ง: ์ฌ์ -> ์ ๋ชฉ ์ ๊ธฐ -> ์ ์ฅ ๋ค์ ํํ๋ฉด์ผ๋ก ๋์์์: ๋ด๋ถ ํด๋์ ์กด์ฌํ๋ outputVideo ํ์ธ -> ์์ฑ์์ ํ๋ ์ ํ์ธ
Sub: ๋ฉ๋ชจ 2๊ฐ ์์ฑ ๋ค๋ก๊ฐ๊ธฐ ๋ฐ x ๋๋ฅด๋ฉด ์์ฑ๋ subvideo ํ์ผ ์ญ์ ๋ฉ๋ชจ ์์ ๋ฉ๋ชจ ํ ๋ ํ ์คํธ ๋ฉ์์ง ๋ฉ๋ชจ ์์ ๋ฉ๋ชจ ํ ๋ ๋ฎ์ด์์์ ์ง์์ง๊ธฐ ์๋ธ๋น๋์ค ๋ณด์ฌ์ง๋ ๋ชจ์ต ์ธ๊ธ ์๊น ๋ณด์ฌ์ฃผ๊ธฐ ํธ์งํ๋ฉด์์ ํ์ธ ์ ์ฅ ํ ํํ๋ฉด์์ ํ์ธ