πŸ€–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);
λ°˜μ‘ν˜•