๋ชฉ๋กAndroid/Android Studio (49)
๐ฑ dreaming DiNO

dimen.xml ์์ฑ ๋ฐ ๋ด์ฉ ์ฐธ์กฐ main.xml ์ ์๋ก ์ถ๊ฐํด์ ๋ฒํผ๋ง๋ ๊ฒ ์๋, ๋ฏธ๋ฆฌ ๋ง๋ค์ด๋์ Button.java๋ฅผ ์ ์ฉ ์ ์์ค๊ฐ ๋ณธ๋ ์๋ ์์ค๊ฐ ์์ ๋ณธ

Tab 3 ๊ฐ๋ฅผ ์ถ๊ฐํ ๊บผ๊ณ ๊ฐ ํญ๋ง๋ค Fragment 1,2,3 ์กด์ฌ ์์ญ ์ ๊ตฌ๋ถํด๋ณด๊ธฐ

ํ๋ก์ ํธ ๊ตฌ์กฐ activity_main.xml ์ ์ฌ๋ฆด ๋๊ฐ์ fragment๋ฅผ ์ถ๊ฐํ๋ค. layout_height = "0dp"๋ฅผ ์ฃผ๊ณ weight ๋ฅผ ๊ฐ๊ฐ 1์ฉ ๋ฃ์ด 1:1 ๋๊ฐ์ ๋ถํ ๋ก ๋ง๋ ๋ค fragment_list.xml (๋ฒํผ๋ง ์๋ fragment) ๋ฒํผ์ ๋ฐ๋ผ ์ด๋ฏธ์ง๋ฅผ ๋ณด์ฌ์ค fragment_viewer.xml (์ผ๋จ ๋งจ์ฒ์์ ๋ณด์ฌ์ค ๊ธฐ๋ณธ imageView๋ฅผ ์ถ๊ฐํด ๋์ ์ํ)

activity_main.xml : FrameLayout ์ผ๋ก ๋ฐ๊ฟ์ฃผ๊ณ , main fragment ๋ฅผ ์ถ๊ฐํด์ค๋ค. main activity ์์ fragment๋ฅผ ๋์์ค๋ค๊ณ ์๊ฐ. fragment ๋ํ java์ xml ํ ์์ผ๋ก ์์ฑ๋จ activity.java ์ฒ๋ผ ๋น์ท, onCreate() ๊ฐ ์๋ onCreateView() ์ด๊ณ ๋น์ทํ๊ฒ findViewById ๋ก ๊ฐ ์ฐพ์์ ํ ๋นํ์ง๋ง rootView. ๊ฐ ํ์ํ๋ค! ๊ทธ๋ฆฌ๊ณ xml๊ณผ Fragment๋ฅผ ๋ฉ๋ชจ๋ฆฌ ์ฌ๋ฆฌ๋ฉด์ ์ฐ๊ฒฐ ~ ๊ทธ๋์ fragment_main / fragment_menu ๋ผ๊ณ ์จ์ค => ๋ฒํผ ํด๋ฆญ - ํ๋ฉด์ ํ์ ์ฌ๊ธฐ์ ์ง์ ํ๋๊ฒ ์๋๊ณ activity์๊ฒ ์์ activity์ ๋ฉ์๋๋ฅผ ๋ง๋ค์ด ํธ์ถํ์ฌ์ผ ํจ ==> ์ธ์ 1์ ์ฃผ๋ฉด m..

์๋น์ค ํด๋์ค๋ฅผ ๋ง๋ค๋ฉด, ์ผ๋จ Manifest.xml ์ ์์ฑ๋์๋จ ํ์ ์๋น์ค ์์๋ Main -> Service ๋ก ์์คํ ์ ์์ฒญ์ ํด์ผํจ intent ์ฌ์ฉ ์๋น์ค ์์ Button ํด๋ฆญ ํ๋ฉด "mia" ์ ์์์ data "command"๋ฅผ intent๋ฅผ ์ด์ฉํ์ฌ service๋ก ๋๊น **service๋ ํ๋ฒ ์คํ๋๋ฉด ๊ณ์ ์คํ๋๊ธฐ ๋๋ฌธ์ intent๋ก ์ ์ฅ๋ ๊ฐ์ ์ฐ๊ธฐ ์ํด์๋ onStartCommand() ์ด์ฉํด์ ํ์ธ ํด์ผ ํจ! => 1) Main์ผ๋ก๋ถํฐ ์ ๋ฌ๋ฐ์ ๋ฐ์ดํฐ๋ฅผ ํ์ธํ ์ ์๋ค! (console์์) onCreate() ๋จผ์ ํธ์ถ (์๋ช ์ฃผ๊ธฐ) onStartCommand() ํธ์ถ, ๊ทธ ์์์ intent ์ data ํ์ธ 2) Main-> service๋ก data๋ฅผ ์ ๋ฌํ๋ค๋ฉด, ์ด๋ฒ์..

ํ๋ฉด ๋ ์ง๊ธฐ ์ง์ ๊น์ง onCreate() -> onStart() -> onResume() ์คํ! ๋ฒํผํด๋ฆญํ์ฌ finish() ์คํํ์๋ onPause() -> onStop() -> onDestroy() ์คํ ์๋ช ์ฃผ๊ธฐ ์์์ ํ๋ฉด์ด ๊บผ์ง๊ธฐ ์ง์ ์ data๋ฅผ ์ ์ฅํ๊ณ ๋ณต๊ตฌํด ๋ณด์! "SharedPreferences ๋ฅผ ์ด์ฉ" ์ฒ์ ์ผ์ง๋๋ ๋น์ฐํ ์ค๋จ๋ ์ ์ด ์์ด์ " ๋ณต๊ตฌ๋ ์ด๋ฆ=> " ์ด๋ ๊ฒ ๋น๊ฐ์ผ๋ก ํ ์คํธ ๋จผ์ ๋ธ. ํ์ง๋ง, ๋๊ณ ๋ค์ ์ผค ๋๋ " ๋ณต๊ตฌ๋ ์ด๋ฆ=> mia๊ฐ " ์ ์์ ์ผ๋ก ๋ธ

1. ์ธํฐํ์ด์ค Parcelable์ ๊ตฌํํ๋SimpleData.java ํด๋์ค๋ฅผ ์์ฑํ๋ค. 2. ์ค๋ฒ๋ผ์ด๋ฉ ๊ฐ์ํ๋ ๋ฉ์๋๋ค์ ์ ์ํด์ค๋ค. 3. Intent ์์ ๋ฃ์ SimpleData ์์ ์ด๋ค data๋ฅผ ๋ฃ์ด์ค์ง ํ๋์ ์ ์ํ๋ค. int number; String message; Parcel๊ฐ์ฒด์ SimpleData ๊ฐ ์๋ก ์ฝ๊ณ ์ธ ์ ์๋๋ก ํ๋ค. MainActivity์์ Parcelable์ ๊ตฌํํ ํด๋์ค๋ฅผ ์ด์ฉํ์ฌ(SimpleData.java) intent์ ์ ์ฅํ ์ ์๊ฒ ๋์๋ค!~ 4. MainActivity์์ Intent ์ ์ ์ฅํ parcel์ ๋ถ๋ฌ์์ Toast๋ก ๋์ธ ์ ์๋ค!

MainActivity.java MenuActivity.java

์ค์ ๋ก๋ MainActivity ํ๊ฐ๋ฟ์ด์ง๋ง Menu๊ฐ ์๋ค๊ณ ๊ฐ์ ํ๊ณ ๋ฌธ์์ด๋ก ๋์์ฃผ๊ณ ์ถ์ ๋๋ ์ด๋ ๊ฒ๋ ์ฐ์ ComponentName ์ ์ด์ฉ ํจํค์ง, ํจํค์ง๊ฒฝ๋ก.ํด๋์ค์ด๋ฆ๊น์ง ๋ชจ๋ ๋ค ๊ธฐ์ฌ Component = Activity์ ๊ตฌ์ฑ์์ ๋ผ๊ณ ์๊ฐ