DoReMi

[Kotlin] Intent - 인텐트 본문

Android/개념

[Kotlin] Intent - 인텐트

도레미누 2023. 7. 4. 15:28

▶ Intent 란

 


▶ 예시

Activity와 화면만 전환

// SecondActivity 실행
// Intent(this@현재 액티비티, 전환 할 액티비티::class.java)
val secondIntent = Intent(this@MainActivity, SecondActivity::class.java)
startActivity(secondIntent)

Activity간 데이터 전달

MainActivity.kt

// SecondActivity 실행
val secondIntent = Intent(this@MainActivity, SecondActivity::class.java)
// startActivity(secondIntent)

// 값들을 설정한다.
secondIntent.putExtra("data1", 100)
secondIntent.putExtra("data2", 11.11)
secondIntent.putExtra("data3", true)
secondIntent.putExtra("data4", "안녕하세요")

val t1 = TestClass()
t1.name = "홍길동"
t1.age = 100
secondIntent.putExtra("data5", t1)

startActivityForResult(secondIntent, SECOND_ACTIVITY)

 

SecondActivity.kt

// 기본 자료형에 관련된 메서드들을 데이터의 이름과 저장된 것이 없을 경우 사용할 기본값을 설정한다.
val data1 = intent.getIntExtra("data1", 0)
val data2 = intent.getDoubleExtra("data2", 0.0)
val data3 = intent.getBooleanExtra("data3", false)
// 객체는 기본값을 설정하지 않으며 값이 없을 경우에는 null이 반한된다.
val data4 = intent.getStringExtra("data4")

// 작업의 결과를 설정해준다.
// RESULT_OK : 작업이 정상적으로 끝났다는 것을 의미한다.
// RESULT_CANCELED : 작업이 취소 되었다는 것을 의마한다.
// RESULT_FIRST_USER : 작업의 상황을 더 추가적으로 정의하고 싶을 때..(+1, +2, +3..)
// setResult(RESULT_OK)
// setResult(RESULT_CANCELED)

// 이전 Activity로 전달할 데이터를 설정할 Intent 객체를 생성한다.
val resultIntent = Intent()
// 값을 설정한다.
resultIntent.putExtra("value1", 200)
resultIntent.putExtra("value2", 22.22)
resultIntent.putExtra("value3", false)
resultIntent.putExtra("value4" , "반갑습니다")

// 돌아갈 때 전달 할 값이 있다면
// setResult 메서드의 두 번째 매개변수에 Intent 객체를 넣어준다.
setResult(RESULT_OK, resultIntent)

// Activity 종료
finish()

 

 

'Android > 개념' 카테고리의 다른 글

[Kotlin] Android MVVM 패턴  (0) 2023.07.14
[Kotlin] RecyclerView - 리사이클러뷰  (0) 2023.07.13
[Kotlin] Toolbar - 툴바  (0) 2023.06.29
[Kotlin] ViewBinding - 뷰바인딩  (0) 2023.06.27
[Kotlin] 키보드  (0) 2023.06.27