반응형
Intent
- 안드로이드 4대 구성 요소들을 실행하기 위해서는 Intent 객체가 필요
- Intent는 실행하고자 하는 4대 구성요소와 관련된 정보를 갖고 있음
- 개발자는 실행하고자 하는 4대 구성요소의 정보를 Intent에 담고 이를 안드로이드 os에게 전달하면 안드로이드 os가 이를 분석해 해당 구성요소를 실행 시킴
* startActivity() : 지정된 intent에 담긴 정보를 토대로 Activity 실행
* finish : 현재 실행되어 있는 Activity를 종료
💡Back Stack
- Activity에서 다른 Activity를 실행하면 이전 Activity는 Back Stack에 담겨 정지 상태가 되고 새로 실행된 Activity가 활동
- 새로 실행된 Activity가 제거 되면 Back Stack에 있던 Activity가 다시 활동 (Back Stack에 아무것도 없으면 바탕화면 나옴)
코드로 Activity 실행
binding.button.setOnClickListener {
val second_intent = Intent(this, SecondActivity::class.java)
//액티비티 안에서는 액티비티가 context를 상속받고 있으므로 this 넣어줌
//SecondActivity.kt를 가지고 만들어진 자바 파일, 자바가 컴파인된 클래스 파일을 지칭-> 클래스 지정 (reflection 개념)
startActivity(second_intent) // intent 객체를 전달해 실행시킴
//메인 위에 second가 올라가는 상
}
코드로 Activity 종료
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
second_binding = ActivitySecondBinding.inflate(layoutInflater) // 뷰바인딩 객체
val view = second_binding.root //뷰바인딩을 통해 레이아웃과 뷰가 결합 -> .root 를 통해 View 객체만를 뽑아내는(?)
setContentView(view)
second_binding.button2.setOnClickListener {
finish() // 현재 액티비티 종료
}
}
💡 안드로이드를 구성하는 구성요소들은 Manifest에 기록이 되어야 함 -> application 태그에 사용할 구성요소 등록 필수!!
반응형
'Android' 카테고리의 다른 글
[안드로이드] CallBack 과 Listener (0) | 2023.03.11 |
---|---|
[안드로이드/Activity] OnActivityResult 와 registerForActivityResult (0) | 2023.03.10 |
[안드로이드/Activity] Activity란 무엇인가? (0) | 2023.03.08 |
[안드로이드/Menu] Popup Menu (0) | 2023.03.08 |
[안드로이드/Menu] Context Menu (0) | 2023.03.06 |