Week5: Meeting With Mento - boostcampwm-2021/android05-boomerang GitHub Wiki
Android05 KotlinIsGood W5 ๋ฉํ ๋ง๋จ
Quetion
RecyclerView Item์ ViewModel ์ฐธ์กฐ
RecyclerView์ ์์ดํ ์ ํน์ ๋ทฐ์ ํ์ ์ฌ๋ถ๋ฅผ ViewModel์ LiveData๋ฅผ ๊ธฐ๋ฐ์ผ๋ก Visible/Gone์ด ๊ฒฐ์ ๋๋๋ฐ Item์์๋ ์ด๋ป๊ฒ ์ฐธ์กฐ๋ฅผ ํด์ผํ ์ง ๊ถ๊ธํฉ๋๋ค. ์ผ๋จ ํ์ฌ๋ Adapter์ ํด๋น LiveData๋ฅผ ์์ฑ์๋ก ๋ฃ์ด Viewholder์์ bindํ ๋ data๋ก ๋๊ฒจ์ฃผ๋ ํํ๋ก ์ค๊ณํ์ต๋๋ค.
StaggeredGridLayout
StaggeredGridLayout์ ์ฌ์ฉํ๋ฉด ๋ค์ํ ํฌ๊ธฐ์ ์์ดํ ๋ทฐ๊ฐ ์์ฑ๋๋๋ฐ ๊ทธ์ ๋ฐ๋ผ ์คํฌ๋กค ์ ์์ดํ ์ด ํฌ์ง์ ์ด ๋ฐ๋๋ ๊ฒฝ์ฐ๊ฐ ๋น๋ฒํ๋ฐ ์ด ๋ถ๋ถ์ ํด๊ฒฐํ๋ ๋ฐฉ๋ฒ์ด ์๋์ง ๊ถ๊ธํฉ๋๋ค. StaggeredGridLayout strategy๋ฅผ GAP_HANDLING_MOVE_ITEMS_BETWEEN_SPANS๋ก ์ค์ ์ ํ๋๋ฐ ์ด๋ถ๋ถ ๋๋ฌธ์ item์ ์์?๊ฐ ๋ฐ๋๋ ๊ฒ์ ์ดํด๊ฐ ์๋ผ์ ์ฌ์ญค๋ด ๋๋ค.
HomeFragment IO
HomeFragment๋ ๊ธฐ์กด์ onViewCreated()์์ DB์ ๊ฐ์ ๊ฐ์ ธ์ค๋ IO๋ฅผ ์ํํ์์์ต๋๋ค. ์ด ๋onBackPressed์ ๊ฐ์ด ๋ค๋ก ๋์๊ฐ์ Fragment๋ฅผ ๋ค์ ๋ถ๋ฌ์์ ๋๋ IO ์์ ์ด ์คํ๋์ด ์ด๋ ๋ญ๋น๋ผ๊ณ ์๊ฐ๋์์ต๋๋ค. ์ฌ๊ธฐ์ ์ด๋ค ๋์์ด ์์์ง ๊ถ๊ธํฉ๋๋ค.
- ๋์: HomeFragment์์ navigation ์ปดํฌ๋ํธ์ args๋ฅผ ๋ฐ์ ์์ ์ฌ๋ถ์ ๋ฐ๋ผ args๋ฅผ ๋ค๋ฅด๊ฒ ๋ฐ๋๋ก ํ์ฌ ํน์ args์์๋ง IO ์์ ์คํ
- ๋์2: StateFlow ์ฌ์ฉ (์ ๋ชจ๋ฆ)
๋ณ๊ฒฝ ์ฌํญ
UI/UX ์์
- ๋ค๋น๊ฒ์ด์
๋๋ก์ด
- ๋ฉ๋ชจ๋ฅผ ์ข ๋ฅ๋ณ๋ก ๋ณผ ์ ์์
- ์คํ์์ค ๋ผ์ด์ ์ค
์ ์ฒด์ ์ธ ์์ฑ๋
๋ ธ์
๋ฒ์ ํ๊ทธ ์ฌ๋ฆฌ๋ ์ด์
์ ๋ฐ์ดํธ ํ ์ ์์์ง, ์ด์ ๊ณผ ๋์ผํ ๋ฒ์ ์ด๋ฉด ์ฑ ์ ๋ฐ์ดํธ ์ค์น๊ฐ ์๋๋ฏ๋ก ๋ฌด์กฐ๊ฑด ๋ฒ์ ์ ์ฌ๋ ค์ ๋ณด๋ด์ผํจ
version name vs version code
ex) 1.0.0 vs 1234567 ์ฐจ์ด:
- Version name
- ์ฌ๋์ด ์ธ์งํ๊ธฐ ์ํ ๊ฐ
- Version code
- ๊ธฐ๊ธฐ๊ฐ ์ดํดํ๋ ๊ฐ
- ๋ฌด์กฐ๊ฑด 1 ์ด์ ์ฉ ์ฆ๊ฐ ํ์
๋ฐํ ๋ฐฉ๋ฒ, ํ๋ฆ
- ๊ฐ๋จํ ์๋น์ค ์๊ฐ
- ์ ๋น๋์ค ๋ฉ๋ชจ, ์์ฑ๋ฉ๋ชจ๋ฅผ ์ ํํ์๋์ง
- ๋น๋์ค ๋ฉ๋ชจ๋ฅผ ์ํด ๋ ์ฌ๋ฆฐ ๋ฐฉ๋ฒ - 3๊ฐ์ง
- ์ขํ - ํฌ์ธํธ, ์๊ฐ ์ ์ฅํด์ ์ค์๊ฐ์ผ๋ก ๋ณด์ฌ์ง๋ ๊ฑฐ
- PIP - ์ขํ๋ฅผ ์์์ผ๋ก ๊ฐ์
- ํ๋ ์
- 2๊ฐ์ง๋ฅผ ์ ํํ๊ฒ ๋ ๊ณ๊ธฐ
- ๋ชจ๋์ ๋ฉ๋ชจ ๊ฐ๋ฐํ๋ฉฐ ์๊ธด ๋ฌธ์ ์ , ํด๊ฒฐ๋ฐฉ๋ฒ
- ๋๋ง์ ๋ฉ๋ชจ ๊ฐ๋ฐํ๋ฉฐ ์๊ธด ๋ฌธ์ ์ , ํด๊ฒฐ๋ฐฉ๋ฒ
- ์์ฑ ๋ฉ๋ชจ ๊ฐ๋ฐํ๋ฉฐ ์๊ธด ๋ฌธ์ ์ , ํด๊ฒฐ๋ฐฉ๋ฒ
- ํ์ , ๋ธ๋์น, ๋ ธ์ , issue/error๊ด๋ฆฌ ๊นํ๋ธ์ ๋ํด์๋ ํฌํจํ๋ฉด ์๋ฏธ์๋ค -> ๋น์ค์๊ฒ
- ํ๋ก์ ํธ๋ฅผ ํตํด ์ป์ ์ ์ ๋ฆฌ
- Q&A (์์์ง๋ฌธ)
- PPT ์ค๋น -> ๋ง์ด ์ค๋นํ์์ ๋ณด์ฌ์ฃผ๊ธฐ ์ํ ๋ฐฉ๋ฒ ์ค 1
๋ฐํ์๊ฐ - ๋ค ์ค๋น, ์๊ฐ์ด ๋ถ์กฑํ๋ค ํ๋จ -> ๋ณ์ฒจ๋ชฉ๋ก, ๋ถ์กฑํ๋ฉด Q&A ์ง๋ฌธ ๋ถํ๋๋ฆฝ๋๋ค Life Cycle ๊ณ ๋ ๊ฒฝํ
ํ ์คํธ์ฝ๋
- Android Test ๋ฐฉ๋ฒ
Test๋ณด๋ค Lint Lint ์์น ์ค์ธ ๊ฒ์ ๋ํ ์๋ฃ -> APK ์ฌ์ด์ฆ ์ค์ด๋ฆ
Test -> Clean Architecture Repo, Datasource, ViewModel ์ ๋จผ์ Test Code ์์ฑ ํ Activity/Fragment ์ํ Test Coverage ์ ์ธก์ ํ์ธก์ ํด์ ๋น๊ต
๋ชฉ๋ก ๋น ํ๋ฉด ๋์ ๋คํฌ๋ชจ๋ (์์ด์ฝ, ์ปฌ๋ฌ)
์งํ, ์ดํฌ๋ ๋ ํธํ๊ฒ, BackLog ์งํ๊ณผ์ ์ ๋ชป๋ณธ ๊ฒ ์์ฝ๋ค.