Android Kotlin 닉네임 변경

이성진·2023년 8월 8일
4

TIL

목록 보기
8/95
post-thumbnail

이번 Android 프로젝트에서는 화면 전환과 데이터 반환을 위해 startActivityForResult를 사용하는 방법을 살펴보겠습니다.

Android Studio에서 startActivityForResult 사용하기

1. 화면 전환 및 데이터 반환 기초:

  • 기본적으로 Intent를 사용하여 화면 전환을 수행하며 , startActivityForResult를 사용하여 호출된 액티비티로부터 결과를 받아옵니다.

2. 닉네임 변경 예제 구현 :

  • 닉네임 변경 요청 : 메인 페이지에서 닉네임 변경하기 버튼을 누를 경우 , 닉네임 변경을 위한 새로운 화면으로 이동합니다.
  • Intent설정 : 닉네임 변경 화면으로 이동하기 위한 Intent를 생성하고 , startActivityForResult 메소드를 사용하여 해당 화면을 시작합니다.
val REQUEST_FOR_NICKNAME = 1005
var intent = Intent(this, MainActivity2::class.java)
startActivityForResult(intent, REQUEST_FOR_NICKNAME)
  • 결과 처리 : 사용자가 닉네임 변경 페이지에서 새 닉네임을 입력하고 입력 완료 버튼을 누르면 , 변경된 닉네임이 메인 페이지에 반영됩니다.

onACtivityResult 에서 결과 처리 :

  • 결과 확인 : onActivityResult 에서 요청 코드 (REQUEST_FOR_NICKNAME)를 확인하여 , 이 요청이 닉네임 변경 요청인지 확인합니다.
  • 결과 코드 검사 : 결과 코드 (resultCode)가 Activity.RESULT_OK 인지 확인하여 , 사용자가 올바르게 데이터를 입력하고 돌아왔는지 검사합니다.
  • 데이터 추출 및 반영 : 반환된 Intent에서 nickname이라는 키로 저장된 새 닉네임을 추출하고 , 이를 메인 페이지의 TextView에 표시합니다.

if (requestCode == REQUEST_FOR_NICKNAME) {

            //닉네임 변경 요청인지 확인

            if (resultCode == Activity.RESULT_OK) {
               
               //유저가 ok버튼을 눌러서 돌아왔는지 체크

                val newNickname = data?.getStringExtra("nickname")

                //닉네임이라는 데이터 가지고오기

                binding.nickNameTxt.text = newNickname

                //닉네임 변경될테스트에 추가

이 방법을 통해 애플리케이션 내에서 화면 간에 데이터를 전달하고 결과를 받아오는 방식을 구현할 수 있습니다.startActivityForResultonActivityResult 는 Android 애플리케이션 개발에서 사용자 입력과 같은 데이터를 다룰 때 자주 사용되는 중요한 컴포넌트 입니다.

profile
2023.08 ~ Android Kotlin 공부

4개의 댓글

comment-user-thumbnail
2023년 8월 8일

오...저도 욕심 좀 더 내봐야겠습니다 ㄷㄷ

답글 달기
comment-user-thumbnail
2023년 8월 8일

startActivityForResult는 처음 보네요 버튼을 통해 닉네임을 변경할수 있군요!

답글 달기
comment-user-thumbnail
2023년 8월 8일

아 생각해 보니 저도 원래 회원 정보 수정 기능을 넣으려고 했는데 어느 순간 잊고 있었네요... 덕분에 그 기능도 도전해 봐야겠네요 ㅎㅎ

답글 달기
comment-user-thumbnail
2023년 8월 8일

오 생각도 못한 기능이 계속 나오네요..!!!!저도 해봐야겠습니다...!!

답글 달기