๊ด€๋ฆฌ ๋ฉ”๋‰ด

ruriruriya

[Android] ์•ˆ๋“œ๋กœ์ด๋“œ - ์•กํ‹ฐ๋น„ํ‹ฐ ๊ฐ„์˜ ํ™”๋ฉด ์ „ํ™˜ ๋ฐฉ๋ฒ•(Intent, startActivity()) ๋ณธ๋ฌธ

๐Ÿค–Android/Java

[Android] ์•ˆ๋“œ๋กœ์ด๋“œ - ์•กํ‹ฐ๋น„ํ‹ฐ ๊ฐ„์˜ ํ™”๋ฉด ์ „ํ™˜ ๋ฐฉ๋ฒ•(Intent, startActivity())

๋ฃจ๋ฆฌ์•ผใ…‘ 2023. 12. 26. 14:17
๋ฐ˜์‘ํ˜•

์•ˆ๋“œ๋กœ์ด๋“œ์—์„œ Intent๋Š” ํ™”๋ฉด ๊ฐ„์˜ ์ „ํ™˜, ์„œ๋น„์Šค ์‹œ์ž‘, ๋ฐ์ดํ„ฐ ์ „์†ก ๋“ฑ์˜ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋œ๋‹ค.
Intent๋Š” ๋ช…์‹œ์ ์œผ๋กœ ์ปดํฌ๋„ŒํŠธ๋ฅผ ์‹œ์ž‘ํ•˜๊ฑฐ๋‚˜ ์•”์‹œ์ ์œผ๋กœ ์‹œ์Šคํ…œ์—์„œ ์ ์ ˆํ•œ ์ปดํฌ๋„ŒํŠธ๋ฅผ ์ฐพ์•„ ์‹คํ–‰ํ•˜๋Š” ๋ฐ์—๋„ ์‚ฌ์šฉ๋œ๋‹ค.

1. Intent

์•ˆ๋“œ๋กœ์ด๋“œ์—์„œ Intent๋Š” ํ™”๋ฉด ๊ฐ„์˜ ์ „ํ™˜, ์„œ๋น„์Šค ์‹œ์ž‘, ๋ฐ์ดํ„ฐ ์ „์†ก ๋“ฑ์˜ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋œ๋‹ค.
Intent๋Š” ๋ช…์‹œ์ ์œผ๋กœ ์ปดํฌ๋„ŒํŠธ๋ฅผ ์‹œ์ž‘ํ•˜๊ฑฐ๋‚˜ ์•”์‹œ์ ์œผ๋กœ ์‹œ์Šคํ…œ์—์„œ ์ ์ ˆํ•œ ์ปดํฌ๋„ŒํŠธ๋ฅผ ์ฐพ์•„ ์‹คํ–‰ํ•˜๋Š” ๋ฐ์—๋„ ์‚ฌ์šฉ๋œ๋‹ค.

์—ฌ๊ธฐ์„œ CurrentActivity.this๋Š” ํ˜„์žฌ ์žˆ๋Š” ์•กํ‹ฐ๋น„ํ‹ฐ๋ฅผ ๊ฐ€๋ฆฌํ‚ค๊ณ ,
TargetActivity.class๋Š” ์‹คํ–‰ํ•˜๊ณ ์ž ํ•˜๋Š” ๋Œ€์ƒ ์•กํ‹ฐ๋น„ํ‹ฐ๋ฅผ ๊ฐ€๋ฆฌํ‚จ๋‹ค.

 

2. startActivity()

๋ฉ”์„œ๋“œ๋Š” ๋ช…์‹œ์  Intent๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋Œ€์ƒ ์•กํ‹ฐ๋น„ํ‹ฐ๋ฅผ ์‹คํ–‰ํ•œ๋‹ค. ๋ช…์‹œ์  Intent๋Š” ์‹คํ–‰ํ•  ๋Œ€์ƒ์ด ๋˜๋Š” ์•กํ‹ฐ๋น„ํ‹ฐ๋ฅผ ๋ช…์‹œ์ ์œผ๋กœ ์ง€์ •ํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค. ๋”ฐ๋ผ์„œ ์ง์ ‘์ ์œผ๋กœ ์‹คํ–‰ํ•  ์•กํ‹ฐ๋น„ํ‹ฐ๋ฅผ ์ง€์ •ํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค.

startActivity() ๋ฉ”์„œ๋“œ๋ฅผ ํ†ตํ•ด ๋‹ค๋ฅธ ์•กํ‹ฐ๋น„ํ‹ฐ๋ฅผ ์‹œ์ž‘ํ•˜๋ฉด ํ˜„์žฌ ์•กํ‹ฐ๋น„ํ‹ฐ์˜ ๋ผ์ดํ”„์‚ฌ์ดํด์ด ์ผ์‹œ ์ค‘๋‹จ๋˜๊ณ , ํ˜ธ์ถœ๋œ ์•กํ‹ฐ๋น„ํ‹ฐ๊ฐ€ ํ™”๋ฉด์— ํ‘œ์‹œ๋œ๋‹ค. ํ˜ธ์ถœ๋œ ์•กํ‹ฐ๋น„ํ‹ฐ์˜ ๋ผ์ดํ”„์‚ฌ์ดํด์ด ์ง„ํ–‰๋œ ํ›„, ์‚ฌ์šฉ์ž๊ฐ€ ํ•ด๋‹น ์•กํ‹ฐ๋น„ํ‹ฐ์—์„œ ๋’ค๋กœ๊ฐ€๊ธฐ ๋“ฑ์„ ํ†ตํ•ด ๋Œ์•„์˜ฌ ๋•Œ ์ด์ „ ์•กํ‹ฐ๋น„ํ‹ฐ์˜ ๋ผ์ดํ”„์‚ฌ์ดํด์ด ์žฌ๊ฐœ๋œ๋‹ค.

Intent intent = new Intent(CurrentActivity.this, TargetActivity.class);
startActivity(intent);
๋ฐ˜์‘ํ˜•