안드로이드 스튜디오 여러화면간 값 전달하기 및 전환하기 (Intent)

안드로이드 앱의 기본 구조는 화면과 레이아웃입니다.

 

그리고 화면은 액티비티로 만듭니다.

 

그 위에 XML 파일로 작성한 레이아웃을 올리고

 

소스 코드를 이용하여 이벤트를 처리합니다.

 

지금까지는 앱을 실행했을 때 첫 화면에 보이는

 

레이아웃과 몇 가지 기본 위젯과 이벤트 처리만으로 간단한 화면을 만들었습니다.

 

이번에는 여러 화면을 만들고 화면 간에 전환하는 방법을 배워봅시다.

 

1. 새로운 액티비티 만들기

 

2. 새로운 액티비티 XML 레이아웃 정의하기

 

3. 메인 액티비티에서 새로운 액티비티 띄우기

 

4. 새로운 액티비티에서 응답 보내기

 

5. 응답 처리하기

 

 

밑에는 처음 화면이 띄울 액티비티입니다.

 

이렇게 서브 액티비티로 갈 수 있는 동작의 버튼을 하나 만들어줍니다.

 

activity_main_xml

 

그다음 메인 액티비티 자바에 밑에 소스를 적어줍니다.

 

이 자바 소스에는 버튼을 클릭했을 때 메뉴 화면을 띄우는 코드를 입력합니다.

 

새 액티비티를 띄우지만 새 액티비티로부터 응답을 받을 수 있습니다.

 

액티비티에 선언된 상수인 REQUEST_CODE_MENU는

 

새 액티비티를 띄울 때 보낼 요청 코드입니다.

 

코드의 값(101)은 여러분 마음대로 지정해도 상관없습니다.

 

단 앱에 들어갈 액티비티가 여러 개라면 중복되는 않는 값으로 지정해야 합니다.

 

 

MainActivity.java (1)
MainActivity.java (2)

 

그리고 메인 액티비티에서 버튼을 눌렀을경우 띄울 서브액티비티도 하나 만들어줍니다.

 

돌아가기 버튼을 눌렀을 경우 다시 메인액티비티 화면으로 돌아갑니다.

 

subactivity_menu.xml

서브 자바 파일을 만들어 줍니다 자바 파일에 마우스를 가져다 대고

 

오른쪽 마우스를 누르면 이렇게 창이 뜰 겁니다 

 

그럼 new -> java class를 클릭하고 이름을 지정해주시면 됩니다.

 

java파일 만드는법

그럼 이렇게 서브 액티비티 자바 파일이 생기는데

 

이 파일을 열어 되돌아가기 버튼을 클릭했을 때

 

원래 액티비티로 돌아가도록 코드를 입력해줍니다.

 

submenuActivity.java

입력하셨으면 매니페스트 파일로 들어가셔서 빨간색으로 표시한 부분을 넣어줍니다.

 

두 번째 액티비티를 설정하고 화면을

 

대화 상자 형태로 나타나게 하기 위해서 이렇게 설정을 해줍니다.

 

androidmanifest.xml

여기까지 다 적으셨으면 코딩은 다 마무리됐습니다.

 

이제 실제 단말기를 이용하여 앱을 실행시켜보면 됩니다.

 

메뉴 화면 띄우기를 누르면 대화 상자 창이 뜹니다.

 

그리고 다시 돌아가기를 누르면 처음 화면으로 돌아가면서

 

 각각의 상태는 토스트 메시지로 보여줍니다.

 

토스트 메시지를 보면 어떤 값이 액티비티 간에 전달되었는지도

 

확인이 가능합니다.

실행화면

지금까지 인텐트를 활용하여 새로운 액티비티를 만들어 추가하고

 

서로 간에 상태 코드나 데이터를 주고받는 방법에

 

대해 알아봤습니다.

 

수고하셨습니다.

댓글

Designed by JB FACTORY