안드로이드 개발자의 창고
[34일차 Android] Activity 실행하기 본문
출처 : 안드로이드 앱스쿨 2기 윤재성 강사님 수업 PPT
📖 Activity 실행 및 종료
- startActivity : 지정된 Intent에 담긴 정보를 토대로 Activity를 샐힝한다.
- finish : 현재 실행되어 있는 Activity를 종료한다.
Intent
- 안드로이드 4대 구성 요소들을 실행하기 위해서는 Intent라는 객체가 필요하다.
- Intent는 실행하고자 하는 4대 구성 요소와 관련된 정보를 가지고 있다.
- 개발자는 실행하고자 하는 4대 구성 요소의 정보를 Intent에 담고 이를 안드로이드 OS에게 전달하면 안드로이드 OS에 의해 해당 구성 요소가 실행된다.
Back Stack
- Activity에서 다른 Activity를 실행하면 이전 Activity는 Back Stack에 담겨 정지 상태가 되고 새로 실행된 Activity가 활동하게 된다.
- 새로 실행된 Activity가 제거 되면 Back Stack에 있던 Activity가 다시 활동하게 된다.
예제 코드
MainActivity.kt
class MainActivity : AppCompatActivity() {
lateinit var activityMainBinding: ActivityMainBinding
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
activityMainBinding = ActivityMainBinding.inflate(layoutInflater)
setContentView(activityMainBinding.root)
activityMainBinding.run {
buttonMain.run {
setOnClickListener {
// 다른 액티비티를 실행한다.
// Intent 객체를 생성한다.
val secondIntent = Intent(this@MainActivity, SecondActivity::class.java)
startActivity(secondIntent)
}
}
}
}
}
SecondActivity.kt
class SecondActivity : AppCompatActivity() {
lateinit var activitySecondBinding: ActivitySecondBinding
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
activitySecondBinding = ActivitySecondBinding.inflate(layoutInflater)
setContentView(activitySecondBinding.root)
activitySecondBinding.run {
buttonSecond.run {
setOnClickListener {
// 현재 Activity를 종료하고 BackStack에서 제거한다.
finish()
}
}
}
}
}
결과
'Computer > Android' 카테고리의 다른 글
[37일차 Android] 다른 앱의 Activity 실행하기 (0) | 2023.06.23 |
---|---|
[34일차 Android] OnActivityResult (0) | 2023.06.23 |
[34일차 Android] Activity (0) | 2023.06.17 |
[34일차 Android] Popup Menu (0) | 2023.06.17 |
[34일차 Android] Context Menu (1) | 2023.06.17 |