2022년
Activity실행하기
박상윤
2021. 10. 20. 12:33
Intent
- 안드로이드 4대 구성 요소들을 실행하기 위해서는 Intent라는 객체가 필요하다.
- Intent는 실행하고자 하는 4대 구성 요소와 관련된 정보를 가지고 있다.
- 개발자는 실행하고자 하는 4대 구성 요소의 정보를 Intent에 담고 이를 안드로이드 OS에게 전달하면 안드로이드 OS에 의해 해당 구성 요소가 실행된다.
Activity 실행 및 종료
- startActivity : 지정된 Intent에 담긴 정보를 토대로 Activity를 실행한다.
- finish : 현재 실행되어 있는 Activity를 종료한다.
Back Stack
자료구조 stack과 구조가 비슷하다.
- Activity에서 다른 Activity를 실행하면 이전 Activity는 Back Stack에 담겨 정지 상태가 되고 새로 실행된 Activity가 활동하게 된다.
- 새로 실행된 Activity가 제거 되면 Back Stack에 있던 Activity가 다시 활동하게 된다.
Main
package com.sypark.activityex
import android.content.Intent
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import kotlinx.android.synthetic.main.activity_main.*
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
button.setOnClickListener {
val second_intent = Intent(this,SecondActivity::class.java)
startActivity(second_intent)
//SecondActivity::class.java -> 리플렉션 개념
//SecondActivity를 이용해서 만들어진 Java파일이 컴파일 된 class파일을 지칭하게 된다.
}
}
}
Second
package com.sypark.activityex
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import kotlinx.android.synthetic.main.activity_second.*
class SecondActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_second)
button2.setOnClickListener {
finish()
}
}
}
secondActivity 클릭
secondActivity 종료 클릭
정리
- Intent를 활용하여 4대 구성 요소 중 원하는 것을 실행할 수 있다.
- startActivity 메서드를 통해 Activity를 실행하고 finish 메서드를 통해 종료할 수 있다.