ย ์ด๋ฒ ์ฃผ ๋ชฉํย 
โข
[ V ] ์ฝ๋ฉ ํ
์คํธ ์ผ์ฃผ์ผ 3๋ฌธ์
โข
[ V ] ํด๋ก ์ฝ๋ฉ ์์ํ๊ธฐ
โข
[ V ] ์ด๋ฒ ์ฃผ ๊ฐ์ ์ ๋ฆฌํ์ฌ ๋ธ๋ก๊ทธ ์์ฑ
ย Liked(์ข์๋ ์ )
์คํ๊ฒํฐ ์ฝ๋๋ฅผ ๋ฐ์ฑํ๋ค
โข
์ด์ ์ ์น๊ฐ๋ฐ์ด๋ ์ฑ๊ฐ๋ฐ์ ํ๋ฉด์ ์ค์ค๋ก ๋๊ผ๋ ๊ฑด ๋ด๊ฐ ์ง ์ฝ๋๊ฐ '์คํ๊ฒํฐ ์ฝ๋..' ๊ฐ๋ค๋ ๊ฒ์ด์๋ค.
โข
์๊ณ ๋ฆฌ์ฆ์ ๊น๊ฒ ๋ฐฐ์ฐ๊ฑฐ๋ ๊ตฌํํด๋ณด์ง ์์์ ๊ทธ๋ฅ ๋ฌด์์ ํ๋ก์ ํธ๋ฅผ ์งํํ๊ณ ๊ตฌํ๋ง ๋๋ฉด ๋ง๋ฌด๋ฆฌํ๋ ๊ฒ์ด ํฐ ๋ฌธ์ ๋ผ๋ ์๊ฐ์ ํ์๋ค.
โข
์ค์ ๋ก ์ด๋ฒ์ ๊ฐ์ธ ํ๋ก์ ํธ ๋ฆฌํฉํ ๋งํ๋ฉด์๋ '์ ์ด๋ ๊ฒ ์ฝ๋๊ฐ ๊ธธ์ง'๋ผ๋ ์๊ฐ์ด ๋ค์๋ค. ์ฝํ๋ฆฐ๊ณผ ์๋ฐ๋ก ๊ฐ์ ๊ธฐ๋ฅ์ ๋ง๋ ๊ฑด๋ฐ ์ฝ๋ ์์ ์๋นํ ์ค์๋ค. LiveData๋ฅผ ์ฌ์ฉํ์ฌ ViewModel๊ณผ Repository๋ก ๋๋ ๋จ๋ค๋ ๊ฒ์ ๊ฐ์ํด๋ ์ฝ๋ ์์ด ํจ์ฌ ์ ๋ค.
โข
์ฝ๋์ ์ฌ์ฌ์ฉ, ๊ธฐ๋ฅ ์ ๋ฆฌ, ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฌ์ฉ์ ํ๋ ๊ฐ๋ฅํ๋ ๊ฒ ์๋๊น ์ถ๋ค. ๋ค๋ฅธ ๊ฐ์ธ ํ๋ก์ ํธ๋ ๋ฆฌํฉํ ๋ง ํด๋ณด๋ฉด ์๊ฐ๋ณด๋ค ์ด๋ ต์ง ์์์ง๋ ๋ชจ๋ฅด๊ฒ ๋ค๋ ์๊ฐ์ด ๋ค์๋ค.
Kotlin ๋ถ๊ธฐ์ฒ๋ฆฌ ๋ฐฉ๋ฒ ํ์ต
โข
ํด๋น ๊ธฐ๊ฐ ๋ด๋ด ํ๋ ๊ฒ์ ๋ถ๊ธฐ ์ฒ๋ฆฌ๋ฅผ ์ด์ฉํ ์ฝ๋ฉ์ด์๋ค. ๊ณผ์ ๋ํ ๋ถ๊ธฐ ์ฒ๋ฆฌ๋ฅผ ์ด์ฉํ ๋ฉ๋ชจ ์์ฑ ํ๋ก๊ทธ๋จ ๋ง๋ค๊ธฐ์๋ค.
โข
์ฝ๋๊ฐ ๊ธธ์ง ์์ ์์๋ฅผ ๊ฐ์ฌ๋๊ณผ ํจ๊ป ๋ง๋ค ๋๋ ๋ชฐ๋๋๋ฐ ๋ถ๊ธฐ ์ฒ๋ฆฌ๋ฅผ ์ด์ฉํ ์ฝ๋ฉ์ด ์ฝ๋ ๋ฆฌ๋ทฐ๋ ์ค๋ฅ ํ์ธํ๋ ๋ถ๋ถ์์ ๋ง์ ์ด์ ์ด ์๋ค๋ ๊ฒ์ ์๊ฒ ๋๋ค.
โข
์คํฐ๋ ํ์ ํ์ ์ฝ๋์์ ์ค๋ฅ๊ฐ ์๊ฒผ์ ๋ ๋ฆฌ๋ทฐํ๊ณ ํ์ธํ๋ ๊ฒ์ด ๋นจ๋ผ์ง ๊ฒ์์ ๋๋ผ๊ฒ ๋๋ค. ๋ถ๊ธฐ ์ฒ๋ฆฌ๋ฅผ ํ๋ฉด ๋ถ๊ธฐ ๋ณ๋ก ๊ธฐ๋ฅ์ด ๋ค๋ฅด๊ธฐ ๋๋ฌธ์ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ ๊ธฐ๋ฅ์ด ์ง์ฌ์ง ์ฝ๋๋ฅผ ํ์ธํ๋ฉด ๋๊ธฐ ๋๋ฌธ์ด๋ค.
โข
๋ง์ฝ ๋ถ๊ธฐ์ฒ๋ฆฌ๋ฅผ ํ์ง ์์๋ค๋ฉด ์ค๋ฅ๊ฐ ๋ ์์ ๋ถํฐ ํ๊ณ ์ฌ๋ผ๊ฐ๋ฉด์ ํ๋ํ๋ ์ดํด๋ด์ผ ํ์ ๊ฒ์ด๊ณ ๋ค๋ฅธ ์ฌ๋์ด ์ง ์ฝ๋๋ฅผ ์ฝ์ด๋ณด๊ณ ์ดํดํ๋ ๋ฐ๋ง ๋ง์ ์๊ฐ์ ์์์ ๊ฒ์ด๋ค.
FLO ํด๋ก ์ฝ๋ฉ์ ์์
โข
๊ฐ์ธ ํ๋ก์ ํธ๊ฐ ์ด๋ ์ ๋ ๋ง๋ฌด๋ฆฌ ๋ผ์ FLO ํด๋ก ์ฝ๋ฉ์ ํด๋ณด๊ณ ์ ๊ฐ์๋ฅผ ๋ฃ๊ธฐ ์์ํ๋ค.
โข
์์ง์ ์ด๋ฐ์ด๋ผ ํ๋ฉด์ ์์ฑํ๊ณ ์ธ๋ถ ๊ธฐ๋ฅ ์ถ๊ฐ ์์
์ ์์ํ ๊ฒ ๊ฐ๋ค.
โข
Restful API ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ๋ํด ์ ์ ์๋ค๊ณ ์ค๋ช
๋์ด ์์ด ๊ธฐ๋๊ฐ ๋๋ค.
โข
์ฑ์ฉ ๊ณต๊ณ ๋ฅผ ๋ณด๋ฉด ์ ๋ฐ์ ์๋ 'Rsetful API๋ฅผ ์ฌ์ฉํด๋ณด์ ๋ถ'์ ๋ํ ํด์๊ฐ ๋ ๊ฒ ๊ฐ๋ค.
๊ณต๋ถ๊ฐ ์๋ ๊ณณ์์์ ์ํํ
โข
๋ฒผ๋ฅด๊ณ ๋ฒผ๋ฅด๋ ๋กคํ ์ฒด์ค ๋ค์ด์๋ฅผ ๋ฌ์ฑํ๋ค.
โข
๋จ๋ค์ ํ ์๋ก ์ฑ์๋ฃ์ผ๋ฉด ๋๋ ํฐ์ด๊ฐ ์๋๋๊ณ ํ์ง๋ง ๋๋ ๋กค๋ ์ํด์ ์ฑํผ์ธ๋ค ์คํฌ๋ ๋ชจ๋ฅด๋๋ฐ.. ์ด ์ ๋๋ฉด ์ํ ๊ฑฐ ์๋๊ฐ ์ถ๋ค. ์์ง๋ ๋ชจ๋ฅด๋ ์คํฌ๋ ๋ง์ ๋ฏ...
โข
๋ค์ ์์ฆ ์์ํ ๋๊น์ง๋ ์๋ ์๋ ๊ฒ ๊ฐ๋ค. ์ด๋ฒ ์์ฆ ์ง๋ฆฐ ๊ฒ ์ ์ผ ํฌ๋ค. ๋ง์คํฐ๋ ์ธ์ ๊ฐ ๊ฐ๊ฒ ์ง..(๊ณต์ฅ ๋ฌธ ๋ซ์์..~)
ย Lacked (์์ฌ์ ๋ ์ )
FLO ํด๋ก ์ฝ๋ฉ ์์ ๋ฐ ์ง๋
โข
ํ์
ํ๋ก์ ํธ๋ฅผ ์งํํ๋ ค๊ณ ํ์ผ๋ ์๊ฐ์ด ๋ง์ง ์์ ๋ฌด์ฐ๋์๋ค. API๋ฅผ ๋ฐ์ ์ฌ์ฉํ๋ ํ๋ก์ ํธ์๋๋ฐ ์ฑ์ค์ฟจ์์ ์กฐ๋ณ ํ๋ก์ ํธ์ ๋ค์ด๊ฐ๋ฉด ์งํํ๊ธฐ ์ด๋ ค์ธ ๊ฒ ๊ฐ๊ณ , ๊ทธ๋ ๋ค๊ณ ๋จ์ ๋ ๋ฌ ์์ ์งํํ๊ธฐ์๋ ์ด๋ฐํ ๊ฒ ๊ฐ์๋ค. ์ฌ์ง์ด ๋ฐฑ์๋๋ ๋ค ์์ฑ๋์ง ์์์ด์ ์์ฑ์ ์ฅ๋ดํ ์ ์์๋ค.
โข
๊ทธ๋ ๋ค๊ณ ๋ชฐ์๋ถ์ด๊ธฐ์ ํ์
ํ๋ ์น๊ตฌ์๊ฒ ๋ถํ์ค์ฑ์ ์๊ธฐ๋ฉด์๊น์ง ํ๋ก์ ํธ๋ฅผ ์งํํ๊ณ ์ถ์ง ์์๋ค. ๊ทธ ์น๊ตฌ๋ ์๋ง ๊ฐ์ ์๊ฐ์ด์ง ์์์๊น ์ถ๋ค.
โข
๊ทธ๋์ ๋ฐ๋ก ์์ํ๊ฒ Restful API ์ฌ์ฉ ๋ฐฉ๋ฒ์ ๋ฐฐ์ธ ์ ์๋ FLO ํด๋ก ์ฝ๋ฉ์ด๋ค.
โข
์๋๋ ์ฐํด ๊ธฐ๊ฐ ์์ ๋๋ด๋ ค๊ณ ํ์ผ๋ ํ ํ๋ก์ ํธ๋ ๋ฌด์ฐ๋๊ณ , ์ฑ์ค์ฟจ ์ง๋๋ ์์ง๊น์ง๋ ํ๋ฉด ๊ตฌ์ฑํ๋ ๋จ๊ณ์ฌ์ ์ข ์ฌ์ ๊ฐ ์์ ๊ฒ ๊ฐ์ ์ฒ์ฒํ ๋ฐฐ์๋ณผ ์๊ฐ์ด๋ค.
ย Learned (๋ฐฐ์ด ์ )
TabLayout๊ณผ ViewPager2์ ์ฐ๋
โข
TabLayout๊ณผ ViewPager2๋ฅผ ์ฐ๋ํ๋ฉด ์คํฌ๋กค๋ง์ด ๊ฐ๋ฅํ ํญ์ ๋ง๋ค ์ ์๋ค.
โข
์ด ๋๊ฐ์ง๋ฅผ ์ฐ๊ฒฐํ๊ธฐ ์ํด TabLayoutMediator()๋ฅผ ์ฌ์ฉํ์ฌ ์ฐ๊ฒฐํด์ค๋ค.
Kotlin์์์ ๋ถ๊ธฐ ์ฒ๋ฆฌ ๋ฐฉ๋ฒ
โข
์์ย ๊ฐ๋ฅํย ์ํ๋ค์ย enumย class๋กย ์ ์ํ๋ค.
โข
์ ์ํย ์ํ๋ณ๋กย whileย ๋ฌธย ๋ด๋ถ๋ฅผย ๋ถ๊ธฐํ๋ค.
โข
๊ฐย ์ํ์ย ๋ํย ํด๋์ค๋ค์ย ์ ์ํ๋ค.
โข
๊ฐย ์ํ์์์ย ์
์ถ๋ ฅย ๋ถ๋ถ์ย ๋ชจ๋ย ๊ตฌํํ๋ค.
โข
๊ตฌํ๋ย ํ๋ฉด์ย ๋ณด๊ณ ย ์ ์ฅํ ย ๋ฐ์ดํฐ๋ค์ย ์ ๋ณํ๋ค.
โข
๋ฐ์ดํฐย ์ ์ฅย ๊ด๋ จย ๊ธฐ๋ฅ์ย ๊ตฌํํ๋ฉด์ย ํ๋ก๊ทธ๋จ๊ณผย ์ฐ๋์ํจ๋ค.
ย Longed for (์์ผ๋ก ๋ฐ๋ผ๋ ์ )
ํด๋ก ์ฝ๋ฉ ๋ง๋ฌด๋ฆฌ
โข
Restful API๋ฅผ ์ฌ์ฉํ๋ '์ปด๊ณต ์ ๋ฐฐ' FLO ํด๋ก ์ฝ๋ฉ์ 2์ฃผ ์์ ๋ง๋ฌด๋ฆฌ ์ง์ ๊ฒ์ด๋ค.
โข
๋ง๋ฌด๋ฆฌ ํย ์ฝ์ธ ๊ฐ๊ฒฉ ๋ชจ๋ํฐ๋ง ์ฑ ์ ์ ๊ฐ์๋ฅผ ๋ค์์ง, ๊ฐ์ธ ํ๋ก์ ํธ ๋ฆฌํฉํ ๋ง์ ํ ์ง ๊ณ ๋ฏผํด๋ด์ผ ํ ๊ฒ ๊ฐ๋ค.
์๊ณ ๋ฆฌ์ฆ ๊ณต๋ถ
โข
์ฝ๋ฉ ํ
์คํธ ์ค๋น์ ์ํํด์ง ๊ฒ ๊ฐ์ ๋๋์ด๋ผ ์๊ณ ๋ฆฌ์ฆ ๊ณต๋ถ์ ๋ํ ์๋ฐ๊ฐ์ด ์๊ธด๋ค.
โข
์์ง ๊ตฌํ ๋ฌธ์ ๋ง ํธ๋ ์์ค์ด๋ผ ์๊ณ ๋ฆฌ์ฆ์ ๊น๊ฒ ๊ณต๋ถํ์ง ์์์๋๋ฐ ์กฐ๊ธ์ฉ์ด๋ผ๋ ๊ณต๋ถํ ๊ฒ์ด๋ค.
์ง์ฝ ์ํ ์ฒญ์ฐ
โข
์ต๊ทผ ๋ค์ด ์ฅ์ ๋ณด๊ฑฐ๋ ํธ์์ ์ ๊ฐ ๊ฒ ๋นผ๊ณ ๋ ๋ฐ์ ๋๊ฐ ๊ธฐ์ต์ด ์๋ค.
โข
๋ค์ ์ฃผ์๋ ๋ฐ์ ๋๊ฐ ๊ธฐ๋ถ ์ ํ์ ํ๊ณ ์ถ๋ค.
โข
์์ง ์ง๋๋ฅผ ๊น๊ฒ ๋๊ฐ์ง ์์์ ๋ ๋๊ฐ๋ ๊ฒ์ด ์ข์ ๊ฒ ๊ฐ๋ค,,