코린이 탈출기
chapter 5.3 - 여러 화면 활용하기 - Intent(화면 전환) 본문
chapter 5.3 - 여러 화면 활용하기 - Intent(화면 전환)
50HEE 2021. 4. 29. 20:23Intent - 하나의 액티비티(출발지)에서 다른 액티비티(도착지)를 불러낼 때 사용합니다.
즉, 액티비티를 이동하기 위해 사용합니다.
기존에 있는 MainActivity에서 chapter 5.2에서 만든 OtherActivity로 이동하는 방법에 대해서 Intent를 사용하여 알아보겠습니다.
2021.04.29 - [안드로이드/클래스101 - 비전공자들을 위한 나만의 안드로이드 앱 만들기] - chapter 5.2 - 여러 화면 활용하기 - 다른 액티비티 추가하기
우선 화면을 이동하기 위해 xml에 버튼과 화면을 구성해 보겠습니다.
편의를 위해 gradle에 id 'kotlin-android-extensions'를 추가해줍니다.


MainActivity에서 OtherActivity로 이동하기 위한 버튼을 작성하였습니다. 버튼을 눌러 이동하기 위해서 MainActivity.kt로 이동하여 Intent를 사용하여 코드를 작성하겠습니다.
사용법
val 변수 이름 = Intent(출발지, 도착 액티비티::class.java)
startActivity(변수 이름)

비유를 하여 좀 쉽게 설명해 보겠습니다.
비행기 티켓을 발권받는다고 생각해 봅시다.
티켓에 출발지와 도착지가 명시되어있습니다.
이처럼 Intent는 비행기 티켓을 발권받는 곳으로 (출발지, 도착지)를 명시하는 것입니다.
그리고 실제 비행기를 탑승하여 출발할 때는 출발지를 작성해야 합니다.
이는 startActivity 함수로 실행하여 위에 작성한 변수를 대입하면 변수에 출발지를 작성하였기 때문에 작성한 출발지로 실행이 됩니다.
이번에는 OtherActivity에서 MainActivity로 돌아가겠습니다. 코드는 위와 동일합니다.

실행을 하면 마치 돌아가는 것처럼 보이지만 사실 액티비티 이동이 아니라 액티비티를 새로 만들어 위에 얹어주는 기능입니다.
들어간 화면에서 뒤로 가기 버튼을 눌러보면 지금까지 새로 생긴 액티비티 화면이 계속 나와있었다는 것을 확인할 수 있습니다.

액티비티를 종료하고 이전 화면으로 복귀시키는 방법은 finish함수를 이용하면 됩니다.
finish함수를 실행하면 현재 액티비티를 종료한다는 의미입니다.
즉, 이 화면을 종료하고 이전 화면으로 이동하고 싶은 경우에는 Intent()를 이용하는 것이 아닌 finish()를 이용해야 합니다.
'인터넷 강의 > 클래스101 - 비전공자들을 위한 나만의 안드로이드 앱 만들기' 카테고리의 다른 글
| chapter 5.5 - 다른 화면을 통해 데이터 받아오기 (1) - Intent 응용 / A -> B (데이터 조회) (0) | 2021.05.03 |
|---|---|
| chapter 5.4 - 화면 간 데이터 전달 - Intent 활용 (0) | 2021.05.03 |
| chapter 5.2 - 여러 화면 활용하기 - 다른 액티비티 추가하기 (0) | 2021.04.29 |
| chapter 5.1 - 안드로이드 기능 분류 소개 (안드로이드 4대 컴포넌트) (1) | 2021.04.29 |
| chapter 4.4 - 코드 깔끔하게 작성하기 - 카멜 표기법 (1) | 2021.04.22 |