Week4 Mentor Meeting - boostcampwm-2021/android05-boomerang GitHub Wiki
Android 05 KotlinIsGood W4 ๋ฉํ ๋ ๋ง๋จ
Question
ViewModel null ์๋ฌ?
๊ฐ๋ ํน์ ํ ๊ฒฝ์ฐ์์ ๋น๋ํ ๋ viewModel์ !!์ ๋ถ์ฌ์ผํ๋ค๋ ์๋ฌ๊ฐ ๋จ๋๋ฐ ์ด์ ๊ฐ ๊ถ๊ธํฉ๋๋ค.
gradle ์๋ฌ
ํน์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ maven์ ์ฌ์ฉํ์ฌ implementation์ ํ ์ ์๋๋ฐ ๊ฒฝ๋ก๊ฐ
allProject{
repositories{
maven{ blah blah }
}
}
ํ์์ผ๋ก ๋์ด์์ต๋๋ค. ๊ทผ๋ฐ ์ด๋ ๊ฒ gradle์ ๋น๋ํ๋ฉด implementation์์ ์ ๋๋ก ๋น๋๊ฐ ์๋์๋ค๋ ์๋ฌ๋ฅผ ๋ฐ๊ฒฌํ์ฌ setting.gradle ์์ RepositoriesMode๋ฅผ ๋ฐ๊พธ๋ ๋ฐฉ์์ ์๋ํ๋๋ฐ ๋ฐ๊พผ ๋ค์๋ ์ฌ์ฉํ๋ ๋ค๋ฅธ ์ธ๋ถ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ๋น๋ ์๋๋ ์ํฉ์ด ๋ฐ์ํ์ฌ settings.gradle์ repositories์ ์ง์ maven ๊ฒฝ๋ก๋ฅผ ๋ฃ์๋๋ ์ ๋๋ก ๋น๋๊ฐ ๋์์ต๋๋ค. ํน์ ํด๋น ๋ฐฉ๋ฒ์ด ์ ์ ํ ๋์ฒ์ธ์ง ๊ถ๊ธํฉ๋๋ค.
์์ฑ ์ธ์ ์ ์ทจ์๋ฒํผ ์ถ๊ฐ
์์ฑ ์ธ์ ์์ ๊ตฌ๊ธ์ ๋ค์ด์ผ๋ก๊ทธ๊ฐ ํธ์ถ๋์ด ๋ณด์ฌ์ง๋๋ค.
์ด๋ ์ทจ์๋ฅผ ์ํ ๊ฒฝ์ฐ ์ทจ์๋ฒํผ์ ๋๋ฌ ์์ฑ์ธ์ ๊ณผ์ ์ด ๋๋๊ฒ๋ ๊ตฌํํ๊ณ ์ถ์๋ฐ ๊ตฌ๊ธ์ด ๋ณด์ฌ์ฃผ๋ ๋ค์ด์ผ๋ก๊ทธ์ด๋ค๋ณด๋ ์ด๋ป๊ฒ custom ํด์ผํ ์ง ๊ฐ์ด ์ค์ง ์์ต๋๋ค.
๋ชจ๋์ ๋ฉ๋ชจ ์คํ ๊ฒฐ๊ณผ
๋ฉ๋ชจ ์์ฑ์ ๋ถ๋๋ฝ๊ฒ ์์ฑ๋์๋์ง, ์์ฑ ํ ์์์ผ๋ก ๋ณํ๋์์ ๋ ๊ฒฐ๊ณผ๋ฌผ์ด ์ด๋ ์ ๋์ธ์ง ์ฑ ์ฌ์ฉ ํ๊ธฐ๊ฐ ๊ถ๊ธํฉ๋๋ค.
๋ณ๊ฒฝ์ฌํญ
UI ๊ฐ์
- SearchView Custom ์์
์ธ์ฝ๋ฉ ๋ฐฉ๋ฒ ๋ณ๊ฒฝ
๊ธฐ์กด์๋ ํธ๋ค๋ฌ๋ฅผ ํตํด ๋ฉ์์ง๋ฅผ ์ ๋ฌํ๋ ๋ฐฉ์์ผ๋ก ์ค๋ ๋ ๊ฐ์ ํต์ ์ ํ์์๋๋ฐ ์ด ๊ฒฝ์ฐ Context Switching์ ๋ฐ์๋๋ ๋น์ฉ์ด ํฌ๊ณ , ์คํ ๊ฒฐ๊ณผ ์ ๋ฌ ์์๋ ๋ค์ UI(๋ฉ์ธ) ์ค๋ ๋์์ ์๋ํ๋ ํธ๋ค๋ฌ์๊ฒ ๋ฉ์์ง๋ฅผ ๋ณด๋ด๋ ๋ฑ ๋น์ฉ์ด ๋ฐ์ํฉ๋๋ค. ๊ทธ์ ๋นํด ์ฝ๋ฃจํด์์ ์คํํ๋ฉด Context Switching์ผ๋ก ๋ฐ์ํ๋ ๋น์ฉ์ ์๋ ์ ์๊ณ , ๊ฒฐ๊ณผ ๋ฐํ ๋ฑ๋ ๋ ์ฌ์์ ธ์ ์ฝ๋ฃจํด์ผ๋ก Surface๋ฅผ ๊ฐ์ ธ์ Buffer๋ก ์ฎ๊ธฐ๋๋ก ์์ ํ์์ต๋๋ค.
๋๋ง์ ๋ฉ๋ชจ ์์ฑ ์กฐ๊ฑด ๋ณ๊ฒฝ
- ์์ ์ฌ์ ์ ๋ฉ๋ชจ๋ฅผ ์์ฑํ ์ ์๋ค.
- ์์์ด ๋๋๋ฉด ๋ฉ๋ชจ ์์ฑ๋ ์ข ๋ฃ๋๋ค.
- ์์ ์ ์ง ์ ๋ฉ๋ชจ๋ฅผ ์์ฑํ ์ ์๋ค.
- ์์ ์๊ฐ์ ๋ง๊ฒ ๋ฉ๋ชจ ์์ฑ์ด ์ข ๋ฃ๋๋ค.
- ์์์ด ๋๋๊ณ ๋ ๋ฉ๋ชจ ์์ฑ์ ํ ์ ์๋ค.
๋ฉํ ๋์ ๋ฏธ์
์ผ์ฃผ์ผ๋์ ๋ฉ๋ชจ ๋จ๊ฒจ๋ณด๊ธฐ ๋ฏธ์ - ์ดํ ๊ณต์ - ์ ํ์ ๋ง๋ค๊ธฐ์ํ ์ฌ๋ฌ ๋ฐฉ๋ฒ ์ค ํจ๊ณผ ์ต๊ณ