인텐트란 어플리케이션 구성요소 간에 작업 수행을 위한 정보를 전달하는 역할을 한다. 예를 들어 어떤 액티비티에서 다른 액티비티로 넘어갈 때 데이터를 같이 넘기고 싶다면 인텐트를 통해 구현이 가능하다.
간단한 인텐트 활용법을 들여다보자. 해당 코드는 MainActivity에서 텍스트를 입력받고 버튼을 누르면 FirstActivity로 화면을 전환하면서 입력 텍스트를 화면에 띄우는 예제이다.
class MainActivity : AppCompatActivity() {
private lateinit var viewBinding: ActivityMainBinding
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
viewBinding = ActivityMainBinding.inflate(layoutInflater);
setContentView(R.layout.activity_main)
viewBinding.btn1.setOnClickListener {
val intent = Intent(this, FirstActivity::class.java)
intent.putExtra("text", viewBinding.editText.text.toString())
startActivity(intent)
}
}
}
class FirstActivity : AppCompatActivity() {
private lateinit var viewBinding:ActivityFirstBinding
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
viewBinding = ActivityFirstBinding.inflate(layoutInflater)
setContentView(viewBinding.root)
val extras = intent.extras
val data = extras!!["text"] as String
viewBinding.tvFirst.text = data
}
}