안드로이드 스튜디오 액티비티 전환하기

728x90

앱을 사용하면서 가장 기본이 되는 액티비티 전환에 대해 알아보자.

 

그전에 액티비티란 하나의 화면이라고 생각하면 된다.

 

UI인 xml파일과 해당 화면의 기능을 수행하는 java파일이 한 세트다.

 

안드로이드 스튜디오에서 프로젝트를 갓 생성하면 MainActivity.java와 activity_main.xml이 있다.

 

필자는 모드 선택 > 난이도 선택 > 게임 진행을 베이스로 구현할 것이기 때문에 Main을 ModeSelect로 변경하고 진행하겠다.

 

RefactorRefactor
Refactor
Refactor
Refactor

이름 변경은 java파일과 xml파일을 우클릭 > Refactor > Rename을 누른 후 원하는 이름으로 변경하고 Refactor를 누르면 어느 곳에서 변경이 이루어지는지 Preview를 볼 수 있는데 한 번 확인하고 Do Refactor를 누르면 전체적으로 변경된다.

 

혹시 모르니 이름 변경하고 나서 에뮬레이터를 돌려 확인해보고 만약에 오류가 뜬다면 AndroidManifest.xml 파일을 열어서 변경이 제대로 되었는지 확인해보면 된다.

 

이제 새로운 액티비티를 생성할 차례다.

 

Empty Activity
Empty Activity

app > java > 액티비티가 있는 폴더에서 우클릭 > New > Activity > 원하는 액티비티를 누르면 처음 프로젝트 생성할 때처럼 액티비티 생성 화면이 나온다.

 

Empty Activity
Empty Activity

Activity Name을 설정하고 Finish를 누르면 되는데 Generate Layout File은 액티비티를 생성할 때 자동으로 xml파일도 만들어준다는 항목이므로 선택 해제하지 않는 것을 추천한다.

 

새로운 Activity
새로운 Activity

또한 자동으로 추가되긴 하지만 혹시 모르니 AndroidManifest.xml에도 추가되었는지 보고 에뮬레이터까지 돌려서 확인해보는 것을 추천한다.

 

그럼 현재 두 개의 액티비티가 있으니 전환을 해보도록 하자.

 

기본적으로 안드로이드에서는 Intent란 객체를 사용하는데 간단하게 데이터를 전달하는 객체라고 생각하면 된다.

 

물론 화면 전환 시에도 Intent를 사용할 것이다.

 

Button
Button

xml파일로 이동해서 자석 모양의 불가표시를 해제하고 Palette를 열어 Buttons의 Button을 드래그해서 생성한 뒤 왼쪽에서 text를 변경했다.

 

만약 필자의 화면처럼 보이지 않는다면 오른쪽 상단의 3가지 Display 형태를 클릭하면 되고 자신한테 편한 대로 사용하면 된다.

 

함수
함수

또한 위 사진처럼 <Button> 안에 android:onClick="실행할 함수 명"을 입력해준다.

 

해당 버튼을 클릭했을 경우 매칭 되는 이름을 가진 함수를 실행한다는 의미이다.

 

그럼 현재 xml파일과 매칭 되는 java파일로 가서 해당 함수를 작성하면 된다.

 

메서드
메서드

onCreate 메서드와 동일한 위치에 이렇게 작성하면 된다.

 

Intent의 첫 번째 파라미터는 해당 액티비티를 의미하는 this를, 두 번째 파라미터는 이동을 원하는 액티비티를 작성하고 startActivity에 해당 intent를 넣으면 된다.

 

실제로 에뮬레이터를 돌려보니 버튼 클릭 시 화면 이동하는 것을 확인할 수 있었다.

 

 

728x90

댓글()