[안드로이드] intent 사용법

하원·2022년 4월 25일
0
post-thumbnail

안녕하세요, 하원입니다.
이번에는 안드로이드에서 사용하는 intent에 대해서 소개해보겠습니다.


intent 보내는 법

여기 보이는 Activity1의 글씨를 누르면 intent를 생성하여 정보를 담아 Activity2로 보내지도록 해보겠습니다!

Activity1 글씨를 눌렀을 때 intent 생성 및 Activity2로 보내는 코드

        binding.mainActivity1Tv.setOnClickListener {
            val intent = Intent(this, Activity2::class.java)

            intent.putExtra("activity1String", "Activity1's String")
            intent.putExtra("activity1Int", 1)
            startActivity(intent)
        }
Intent(this, 데이터 받는 Activity::class.java) 
=> 데이터를 받게 되는 activity의 이름을 써줍니다.
intent.putExtra("name", value) 
=> value와 그에 맞는 name을 설정하여 값을 담아줍니다.
startActivity(intent) 
=> intent를 통해 새로운 Activity를 호출해줍니다.

intent 받는 법

Activity1에서 intent를 Activity2로 보내는 코드를 썼다면 Activity2에서는 intent를 받는 코드를 써야겠죠?!


Activity2에서 intent를 받는 코드

        if(intent.hasExtra("activity1String"))
        {
            getString = intent.getStringExtra("activity1String").toString()
        }

        if(intent.hasExtra("activity1Int"))
        {
            getInt = intent.getIntExtra("activity1Int", 0)
        }
intent.hasExtra("name")

=> 아까 위에서 value와 함께 name을 설정해준 적이 있었죠?!
이렇게 intent에서 원하는 값을 찾을 때 name을 씁니다.
intent.get???Extra("name", default)

=> get 뒤에 ??? 라고 쓴 이유는 많은 type이 들어갈 수 있기 때문입니다!
hasExtra는 intent 속에 값이 들어있는지 확인하는 용도이고, 
getExtra는 intent에서 값을 받아오는 함수입니다.
default는 name에 해당하는 value가 없을 때 필요한 값 입니다.

Log로 확인해보기

Log.d("getInfo", "getString : " + getString + ", getInt : " 
+ getInt.toString())

=> Log를 통해 getString과 getInt 값을 확인해봅시다!
getString에 "Activity1's String", getInt에 1이 잘 들어왔네요ㅎㅎ

The End

profile
호기심 저장소

0개의 댓글