본문 바로가기
패스트캠퍼스 30일챌린지

[안드로이드] 패스트캠퍼스 챌린지 10일차!!

by 욧닭 2021. 9. 15.
반응형

들어가며

어제는 intent를 사용하여 엑티비티간의 이동을 공부해 보았습니다 안드로이드에서 많이 사용하며 중요한 기능중 하나입니다

여기서 간략하게 intent의 개념을 집어 보자면

위 사진과 같이 설명할 수 있습니다!

핵심은 가운데 있는 Android System이라고 하는 곳입니다 액티비티 A에서 StartActivity를 통해 intent를 Android System에게 전달하면 intent의 담겨져 있는 정보 (이동하고자 하는 Activity, 값 등) 을 확인하고 원하는 Activity로 이동시켜줍니다 

말그대로 intent를 사용하면 자동으로 Activity 전환이 된다는 것입니다!! 정말 유용하군요!! 

그래서 오늘 언급할 것은 intent를 사용하여 원하는 값과 같이 Activity로 전환하는 방법을 알아 볼것입니다 ㅎㅎ

 

putExtra

val height: Int = editHeight.text.toString().toInt()
val weight: Int = editWeight.text.toString().toInt()

val intent = Intent(this, ResultActivity::class.java)

intent.putExtra("height", height)
intent.putExtra("weight", weight)

putExtra 는 이동하고자 하는 Activity에 값을 보내기 위해서 사용하는 함수입니다! 보통 버튼 이벤트와 같이 사용하는데 버튼을 이용해 얻은 값을 다른 Activity에 보여주고자 할 때 자주 사용합니다

 

putExtra의 첫번째 인자로는 인식가능한 key 값 두번째 인자로는 보내고자 하는 값을 입력해주면 끝입니다!! 

그럼 이 값들을 전환 될 Activity에서는 어떻게 받냐고요?! 다음과 같이 받게 됩니다

 

get(Type)Extra

val height = intent.getIntExtra("height",0)
val weight = intent.getIntExtra("weight",0)

get(type)Extra는 전환 되기 전 Activity에서 보낸 값을 받기위한 함수입니다 get 과 Extra 사이에는 보낸 값의 타입을 작성해주시고 인자로는 key와 key가 없을때 받게되는 값 Default value를 입력하게 됩니다

 

intent는 값을 주고, 받는 일들이 빈번히 일어날때 많이 사용하는 객체 이기 때문에 무조건 암기! 이해! 해야하는 함수입니다!!

 

이렇게 전환된 Activity에서 값을 받아 계산을 해 프론트에 뿌려줄수도 있고 다양한 액션들을 취할 수도 있습니다

그러나!! intent도 단점이 있는데 putExtra를 사용할때는 일정 크기가 넘어가면 안됩니다!!

예를들면 putExtra로 @@@@ <- 이 문자를 만개, 십만개를  보내고 싶다고 보낼 수가 없습니다!! putExtra로 보낼 수 있는 데이터가 한정적이기 때문에 불가능 합니다 근데 이런 생각 하실 수도 있습니다

@@@@ 를 10만개 보낼 일이 있나? 라고 생각할 수 있습니다 kotlin에는 base64라는 암호화 함수가 있습니다 이 함수로 사진을 바이트화 할 수 있는데 이때 이 값을 intent로 보내고 싶어도 보낼 수 없는 아픔이 있습니다...

이렇듯 intent의 putExtra는 데이터 길이에 신경을 써서 사용해 주시면 좋겠네요!

 

 

#패스트캠퍼스 #패캠챌린지 #직장인인강 #직장인자기계발#패스트캠퍼스후기#30개 프로젝트로 배우는 Android 앱 개발 with Kotlin 초격차 패키지 Online

 

https://bit.ly/37BpXiC

 

 

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.

 

 

반응형

댓글