๐ก์ฌ์ฌ์ฉ ๋ชฉ์ ์ผ๋ก๋ง ์ฌ์ฉํ๋ Fragment์ ๋ํด ์์ธํ๊ฒ ํ์ตํ ๋ด์ฉ์ ๊ธฐ๋กํ์์ต๋๋ค.
Fragment
- Fragment๋ UI ๋๋ ๋น UI ์ปดํฌ๋ํธ๋ฅผ ๋ํ๋ด๋ ๋ชจ๋ํ๋ ๊ตฌ์ฑ์์ ์ ๋๋ค.
- ํ๋์ ์กํฐ๋นํฐ ๋ด์์ ์ฌ๋ฌ ๊ฐ๊ฐ ํจ๊ป ์ฌ์ฉ๋ ์ ์์ผ๋ฉฐ, ํ๋ฉด์ ์ผ๋ถ๋ฅผ ์ฐจ์งํ๊ฑฐ๋ ํ๋ฉด ์ ํ์ ์ฝ๊ฒ ํ ์ ์๋๋ก ๋์์ค๋๋ค.
์กํฐ๋นํฐ ๋ฐฉ์์ ๋ฌธ์ ์
- ์กํฐ๋นํฐ ์์ ์ฝ๋๊ฐ ๊ธธ์ด์ง๊ฒ ๋๋ฉด ์ ์ง๋ณด์๊ฐ ์ด๋ ต๊ณ , ๋ค์ํ ๊ธฐ๊ธฐ๊ฐ ์๊ฒจ๋๋ฉด์ Activity๋ก๋ง ํ๋ฉด์ ๊ทธ๋ฆฌ๊ธฐ๋ ํ๊ณ๊ฐ ๋ฐ์ํ์์ต๋๋ค.
- Fragment๋ ์ ์ฐํ UI/UX๋ฅผ ์ง์ํ๋ฉฐ, ๊ด์ฌ์ฌ ๋ถ๋ฆฌ์ ์ฌ์ฌ์ฉ์๋ ํฐ ์ด์ ์ ์ค๋๋ค.
Fragment Lifecycle
- Fragment๋ ์กํฐ๋นํฐ์ ์ผ๋ถ๋ถ์ผ๋ก ์ฌ์ฉ๋๋ฉฐ, ๋ ๋ฆฝ์ ์ธ ์๋ช ์ฃผ๊ธฐ๋ฅผ ๊ฐ์ง๊ณ ์์ต๋๋ค.
- ์กํฐ๋นํฐ๊ฐ ํจ๊ป ์ฌ์ฉ๋๋ ๊ฒฝ์ฐ๊ฐ ๋ง๊ธฐ ๋๋ฌธ์ ์ ์ ํ ์๋ช ์ฃผ๊ธฐ ๊ด๋ฆฌ๊ฐ ์ค์ํ๋ฉฐ, ์ด๋ฅผ ์ดํดํ๋ฉด UI์ ํ, ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ, ๋ฐ์ดํฐ ์ ์ง ๋ฑ์์ ์ ์ฐํ๊ณ ํจ์จ์ ์ธ ์ฝ๋๋ฅผ ์์ฑํ ์ ์์ต๋๋ค.
์์ฑ ๊ด๋ จ ์ฝ๋ฐฑ
- onAttach() : Fragment๊ฐ ์กํฐ๋นํฐ์ ์ฒ์ ์ฐ๊ฒฐ๋ ๋ ํธ์ถ๋ฉ๋๋ค.
- Fragment์์ ์กํฐ๋นํฐ์ ์ ๊ทผํ ์ ์์ต๋๋ค.
- onCreate() : Fragment๊ฐ ์์ฑ๋ ๋ ํธ์ถ๋ฉ๋๋ค.
- ์ ์งํด์ผ ํ๋ ์ํ๋ฅผ ์ค์ ํ๊ฑฐ๋ ์ด๊ธฐํ ์์ ์ ์ํํฉ๋๋ค.
- onCreateView() : Fragment๊ฐ ์์ ์ UI๋ฅผ ์ฒ์ ์์ฑํ ๋ ํธ์ถ๋ฉ๋๋ค.
- ๋ฉ์๋์์ UI๋ฅผ ๋ํ๋ด๋ View ๊ฐ์ฒด๋ฅผ ๋ฐํํด์ผ ํฉ๋๋ค.
- onViewCreated() : onCreateView()๊ฐ ์๋ฃ๋ ํ์ ํธ์ถ๋ฉ๋๋ค.
- ๋ทฐ๊ฐ ์์ฑ๋์์ผ๋ฉฐ, ๋ทฐ ๊ด๋ จ ์ด๊ธฐํ ์์ ์ ํ ์ ์์ต๋๋ค.
- onActivityCreated() : Fragment์ ์กํฐ๋นํฐ๊ฐ ์์ฑ๋ ํ์ ํธ์ถ๋ฉ๋๋ค.
- ์ด ์์ ์ ์กํฐ๋นํฐ์ ์ํธ์์ฉํ๊ฑฐ๋ ๋ฐ์ดํฐ๋ฅผ ๋ก๋ํ ์ ์์ต๋๋ค.
์คํ ์ํ ์ฝ๋ฐฑ
- onStart() : Fragment๊ฐ ํ๋ฉด์ ํ์๋๊ธฐ ์์ํ์ ๋ ํธ์ถ๋ฉ๋๋ค.
- ์ด ์์ ๋ถํฐ ์ฌ์ฉ์๊ฐ ํ๋๊ทธ๋จผํธ๋ฅผ ๋ณผ ์ ์์ต๋๋ค.
- onResume() : Fragment๊ฐ ์ฌ์ฉ์์ ์ํธ์์ฉํ ์ ์๋ ์ํ์ผ ๋ ํธ์ถ๋ฉ๋๋ค.
- ํ๋๊ทธ๋จผํธ๊ฐ focus๋ฅผ ์ป์ผ๋ฉฐ, ์ฌ์ฉ์์ ์ ๋ ฅ์ ์ฒ๋ฆฌํ ์ ์์ต๋๋ค.
์ผ์ ์ ์ง ๋ฐ ์ ์ง ์ํ ์ฝ๋ฐฑ
- onPause() : Fragment๊ฐ ์ผ์ ์ค์ง ์ํ๋ก ์ ํ๋๊ธฐ ์ ์ ํธ์ถ๋ฉ๋๋ค.
- ์ฌ์ฉ์๊ฐ ํ๋๊ทธ๋จผํธ์ ์ํธ์์ฉ์ ๋ฉ์ถ ๋ ํธ์ถ๋ฉ๋๋ค.
- onStop() : Fragment๊ฐ ํ๋ฉด์์ ์์ ํ ์ฌ๋ผ์ง๊ธฐ ์ ์ ํธ์ถ๋ฉ๋๋ค.
- UI๊ฐ ๋ ์ด์ ํ๋ฉด์ ๋ณด์ด์ง ์์ต๋๋ค.
์ข ๋ฃ ๊ด๋ จ ์ฝ๋ฐฑ
- onDestoryView() : Fragment์ ๋ทฐ๊ฐ ํ๊ดด๋ ๋ ํธ์ถ๋ฉ๋๋ค.
- ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ๋ฅผ ์ํด ๋ทฐ์ ๊ด๋ จ๋ ๋ฆฌ์์ค๋ฅผ ์ ๋ฆฌํ ์ ์์ต๋๋ค.
- onDestory() : Fragment๊ฐ ๋ ์ด์ ํ์ํ์ง ์์ ๋ ํธ์ถ๋ฉ๋๋ค.
- ์ด ์์ ์ ํ๋๊ทธ๋จผํธ์ ์ํ๋ฅผ ์ ๋ฆฌํ ์ ์์ต๋๋ค.
- onDetach() : Fragment๊ฐ ์กํฐ๋นํฐ์์ ์์ ํ ๋ถ๋ฆฌ๋๊ธฐ ์ ์ ํธ์ถ๋ฉ๋๋ค.
- ์กํฐ๋นํฐ์ ์ฐ๊ฒฐ์ด ํด์ ๋ฉ๋๋ค.
์ ๋ฆฌ
- Fragment๋ ์กํฐ๋นํฐ์ ์ผ๋ถ๋ถ์ผ๋ก ์ฌ์ฉ๋๋ฉฐ, ๊ฐ ๋ ๋ฆฝ์ ์ธ ์๋ช ์ฃผ๊ธฐ๋ฅผ ๊ฐ์ง๋๋ค.
- ์กํฐํฐ๋น์ ํจ๊ป ์ฌ์ฉ๋๊ธฐ ๋๋ฌธ์ ์ ์ ํ ์๋ช ์ฃผ๊ธฐ ๊ด๋ฆฌ๊ฐ ๋งค์ฐ ์ค์ํฉ๋๋ค.
- ํ๋๊ทธ๋จผํธ์ ์ฌ์ฉ์ ๋ง์ ์ฅ์ ์ ๊ฐ์ ธ์ค์ง๋ง, ํ๋๊ทธ๋จผํธ ๋งค๋์ ์ ํธ๋์ญ์ ์ ์ง์ ๋ค๋ฃจ๋ ๊ฒฝ์ฐ ์๊ธฐ์น ์์ ๋์์ด ๋ฐ์ํ๋ ๊ฒฝ์ฐ๋ ์์ต๋๋ค.
- ๋จ์ผ ์กํฐ๋นํฐ๋ฅผ ํ์ฉํ๋ ๋ฐฉ๋ฒ๋ ์๊ณ , ํ๋๊ทธ๋จผํธ๋ฅผ ์ฌ์ฉํ์ง ์๊ฑฐ๋ ์ผ๋ถ๋ถ๋ง ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ๋ ์์ต๋๋ค.
- ์ํฉ๋ณ๋ก ์ ์ ํ ํ๋๊ทธ๋จผํธ ์ฌ์ฉ์ ํตํด์ ์ ์ฐํ ํ๋ก๊ทธ๋๋ฐ์ด ๊ฐ๋ฅํด์ก์ต๋๋ค.