์ ํ๋ฆฌ์ผ์ด์ ๊ตฌ์ฑ์์ 4๊ฐ์ง
- ์กํฐ๋นํฐ(Activity)
- ์๋น์ค
- ๋ธ๋ก๋์บ์คํธ ์์ ์
- ๋ด์ฉ ์ ๊ณต์
์กํฐ๋นํฐ(Activity)
์กํฐ๋นํฐ๋ ํ๋ฉด์ ํ์๋๋ UI๊ตฌ์ฑ์ ์ํด ๊ฐ์ฅ ๊ธฐ๋ณธ์ด ๋๋ ์์์ด๋ค. ํ๋ฉด์ UI๋ฅผ ํ์ํ๊ธฐ ์ํด ์ต์ ํ๋์ activity๋ฅผ ๊ฐ์ ธ์ผ ํ๋ค. ์กํฐ๋นํฐ๋ ์ฌ์ฉ์์์ ์ธํฐํ์ด์ค๋ฅผ ๋ง๋ค์ง๋ง ์์ฒด์ถ๋ ฅ๊ธฐ๋ฅ์ด ์๋ค.
์ฌ์ฉ์์๊ฒ ์ค์ ๋ก ๋ณด์ฌ์ง๋ ๋ถ๋ถ์ ๋ทฐ(view), ๋ทฐ๊ทธ๋ฃน(viewgroup)์ ํด๋นํ๋ค. ๊ทธ๋ฆฌ๊ณ , ์กํฐ๋นํฐ๊ฐ ์์ฑ๋ ๋๋ง๋ค ํธ์ถ๋๋ setContentView๋ฉ์๋๋ ์กํฐ๋นํฐ ์์ ๋ทฐ๋ฅผ ๋ฐฐ์นํ๋ ๋ช ๋ น์ด๋ค.
์๋ก์ด ์กํฐ๋นํฐ ์ถ๊ฐ
app์ฐํด๋ฆญ -> new -> activity
-
onCreate() : ์กํฐ๋นํฐ๋ฅผ ์์ฑ, ์กํฐ๋นํฐ์ ํ์ ๊ตฌ์ฑ ์์๋ฅผ ์ด๊ธฐํ, setContentView()๋ฅผ ํธ์ถํด์ ์กํฐ๋นํฐ์ UI๋ฅผ ์ ์ํ ์ ์์
-
onStart() : ์กํฐ๋นํฐ๊ฐ ๋ณด์ฌ์ง๊ธฐ ์์ํจ
-
onResume() : ์กํฐ๋นํฐ๊ฐ ์์๋๊ณ ์ฌ์ฉ์์ ์ํธ์์ฉํ๊ธฐ ์ง์ ์ ํธ์ถ
-
onPause() : ์กํฐ๋นํฐ๊ฐ ๋ถ๋ถ์ ์ผ๋ก ๊ฐ๋ ค์ง, ์ฌ์ฉ์๊ฐ ์กํฐ๋นํฐ๋ฅผ ๋ ๋๋ค๋ ์ ํธ, ํ์ฌ ์ฌ์ฉ์๊ฐ ์ธ์ ์ ๋์ด์ ์ ๋ณด๊ฐ ์ง์๋์ด์ผ ํ๋ค๋ฉด ๋ณ๊ฒฝ ์ฌํญ์ ์ปค๋ฐํ๊ธฐ์ ๊ฐ์ฅ ์ ์ ํ ์ฝ๋ฐฑ์ ๋๋ค. (์ฌ์ฉ์๊ฐ ๋์์ค์ง ์์ ์๋ ์์)
-
onStop() : ์กํฐ๋นํฐ๊ฐ ๋ ์ด์ ์ฌ์ฉ์์๊ฒ ํ์๋์ง ์์ผ๋ฉด ํธ์ถ๋ฉ๋๋ค.
-
onRestart() : ์กํฐ๋นํฐ๊ฐ ์ค๋จ๋์๋ค๊ฐ ๋ค์ ์์๋๊ธฐ ์ ์ ํธ์ถ๋ฉ๋๋ค.
-
onDestroy() : ์กํฐ๋นํฐ๊ฐ ์๋ฉธ๋๊ธฐ ์ง์ ์ ํธ์ถ๋ฉ๋๋ค. ์กํฐ๋นํฐ๊ฐ ๋ฐ๋ ๋ง์ง๋ง ํธ์ถ์ ๋๋ค.
์ธํ ํธ(Intent)
์์์ ์ ์ํ ์ ํ๋ฆฌ์ผ์ด์ ๊ตฌ์ฑ์์๊ฐ์ ์์ ์ํ์ ์ํ ์ ๋ณด๋ฅผ ์ ๋ฌํ๋ ์ญํ ์ ํ๋ค.
"Intent ๊ตฌ์ฑ -> ์์คํ -> Intent์ ๋ณด๋ฅผ ํตํ Component ์คํ"
- ๋ช ์์ ์ธํ ํธ(Explicit Intent)
์ธํ ํธ์ ํด๋์ค ๊ฐ์ฒด๋ ์ปดํฌ๋ํธ ์ด๋ฆ์ ์ง์ ํ์ฌ ํธ์ถ๋ ๋์์ ํ์คํ ์ ์ ์๋ ๊ฒฝ์ฐ
๋์ผ app์์ ๋ค๋ฅธcomponent์คํ์
- ์์์ ์ธํ ํธ(Implicit Intent)
ํธ์ถ๋ ๋์์ ์์ฑ๋ค์ ์ง์ ํ์ง๋ง, ํธ์ถ๋ ๋์์ด ๋ฌ๋ผ์ง ์ ์๋ ๊ฒฝ์ฐ
์ธํ ํธ ์ฌ์ฉ๋ฐฉ๋ฒ
- ์กํฐ๋นํฐ์ ์์: startActivity(Intent), startActivityForResult(Intent, requestCode)
- ์๋น์ค์ ์์: startService(Intent), bindService(Intent)
- ๋ธ๋ก๋์ผ์คํธ ์ ๋ฌ: sendBroadcast(Intent), sendOrderedBroadcast(Intent), sendStickyBroadcast()
ํ๋ฉด ์ ํ
Finish๋ฉ์๋ : ์๋ก์ด ์กํฐ๋นํฐ๋ฅผ ์คํํ ํ์ ๋ค์ ์๋์ ์กํฐ๋นํฐ๋ก ๋์๊ฐ๊ธฐ
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button button = findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(getApplicationContext(), MenuActivity.class);
startActivity(intent);
//์์คํ
์ชฝ์ผ๋ก intent๋ฅผ ์ ๋ฌํ๋ฉด์ ํ๋ฉด์ ๋์์ค
//์๋ต์ ๋ฐ๊ณ ์ถ๋ค : startActivityForResult(intent, 101)
//101 : ์์ฒญ ์ฝ๋
}
});
}
}
'APP > ANDROID' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ถ์คํธ์ฝ์ค]์๋๋ก์ด๋ ํ๋๊ทธ๋จผํธ(fragment),์ก์ ๋ฐ (0) | 2020.02.27 |
---|---|
[๋ถ์คํธ์ฝ์ค] ๋ธ๋ก๋์บ์คํธ ์์ ์/์ํ ๊ถํ (0) | 2020.02.21 |
[๋ถ์คํธ์ฝ์ค]์คํฌ๋กค๋ทฐ (0) | 2020.02.13 |
[๋ถ์คํธ์ฝ์ค]๋ ์ด์์ ๋ง๋ค๊ธฐ (0) | 2020.02.05 |
[๋ถ์คํธ์ฝ์ค] ๋ ์ด์์#๋ทฐ์ ์์ฑ (0) | 2020.01.18 |