intent
는 Activity
의 메시지 객체입니다.startActivity()
메서드를 호출해야 합니다.어떠한 의도(intent)를 가지고 액티비티를 시작(start)
할 건지 정의해야 합니다.현재 액티비티(this)에서 두번째 액티비티(SecondActivity::class.java) 실행
이라고 실행할 액티비티를 명시적인 의도
를 가지고 호출합니다. (여기서 ::class.java 는 자바(코틀린)파일에 대한 참조를 뜻합니다.)val intent = Intent(this, SecondActivity::class.java)
startActivity(intent)
👉 명시적 인텐트 (Explicit intents)
SecondActivity 라는 액티비티를 실행한다.
👉 암시적 인텐트 (Implicit intents)
사진 찍기 라는 작업을 수행할 액티비티를 실행한다.
실행할 Activity 정보
와는 다르게 필수적인 작업이 아닙니다. 그래서 extra
라는 이름이 붙는 메서드를 호출합니다.Bundle
객체로 key - value
구조로 전달됩니다.val intent = Intent(this, SecondActivity::class.java).apply {
putExtra("name", myName)
putExtra("number", myNumber}
startActivity(intent)
Bundle.get데이터타입(key값)
을 통해 데이터를 받을 수 있습니다.val myName = arguments?.getString("name")
val myNumber = arguments?.getInt("number")
arguments
는 Bundle
객체입니다.startActivityForResult()