Android/Kotlin
[Kotlin] Activity 간에 데이터 주고받는 방법
eulBlue
2023. 8. 9. 18:10

📱테스트 환경
Samsung Galaxy Android 13 • Android 10
😢 내가 겪은 문제
Activity 를 전환할 때 여기있는 일부 데이터도 같이 전송하고 싶었다. 근데 ... 정말 간단하다 ...!!
그래서 정말 간단하게 설명을 적어두고 간단한 코드를 기록하려고 한다 : ) 복사 붙여넣기만 해도 작동이 될 정도로 ㅎㅎ
데이터를 보낼 때
class SendingActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_sending)
val valueToSend = "Hello, TargetActivity!"
val intent = Intent(this, TargetActivity::class.java)
intent.putExtra("message", valueToSend)
startActivity(intent)
}
}
데이터를 받을 때
class TargetActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_target)
val receivedIntent = intent
val receivedMessage = receivedIntent.getStringExtra("message")
// Now you can use receivedMessage as needed
// (e.g., display it in a TextView)
}
}
와 !! 정말 쉽고 정말 간단하다 !!
근데 함수명에서 알다시피 String 타입을 받을 때 getStringExtra 를 사용하지만 다른 타입을 받을 때는 어떤 함수를 써야하냐 !!
타입이 Number 인 경우 : getIntExtra("intKey", defaultValue)
타입이 Boolean 인 경우 : getBooleanExtra("boolKey", defaultValue)
중요한건 보낼 때는 intent.putExtra() 를 사용하고 받을 때는 intent.getStringExtra() 를 사용하면 된다는 거다.