Button을 통한 동적인 기능을 구현해 봤으니 이번에는 Activity 전환을 구현해 보겠다. 먼저 Activity란 하나의 화면을 가리키는 말이다. 앞서 작성한 프로그램에서 EditText와 Button이 있는 화면이 하나의 Activity인 것이다. Intent는 Application의 구성요소(컴포넌트) 간에 작업 수행을 위한 정보를 전달하는 역할을 한다. 인텐트를 가장 손쉽게 사용한 예로는 Activity간의 화면전환을 들 수 있다. Intent를 이용해 한 Activity에서 다른 Activity로 전환할 수 있다. 쉽게 말해 화면전환을 할 수 있다.
우선 실습을 통해 사용법을 간단히 익혔다. EditText에 Text를 입력하고 Button을 누르면 다음 Activity로 이동하고 입력했던 Text가 다음 Activity의 TextView로 나오게 하는 프로그램을 작성했다.
Activity 전환을 하기 위해서는 원래의 Activity와 전환 후 Activity가 있어야 하므로 MainActivity와 SubAvtivity를 만들었다.
필요한 EditText, Button, TextView를 작성했다.
<activity_main.xml>
<activity_sub.xml>
MainActivity.java부터 시작해 보자.
EditText와 Button 변수를 선언했고, findViewbyId()를 이용해 변수에 xml 파일에 있는 EditText, Button, TextView와 연결했다. EditText에서 문자열을 받아와 넘겨야 하기 때문에 String 변수도 하나 선언했다.
Button의 OnClickListener에서는 Intent 변수를 선언해 MainActivity에서 SubActivity로 넘어갈 수 있도록 했다.
String 변수에는 getText().toString()을 써서 EditText에 써진 Text를 String형태로 바꿨다.
Intent의 putExtra() 함수는 데이터를 송신하기 위한 함수로, 매개변수로 name과 value를 가진다. putExtra()를 사용해 다음 Activity에 String 변수의 값을 송신하게 했다.
startActivity() 함수로 SubActivity를 화면에 띄우게 하였다.
<MainActivity.java>
마지막으로 SubActivity.java를 작성했다.
TextView 변수를 선언해 findViewbyId()를 이용해 변수에 xml 파일에 있는 TextView와 연결했다.
Intent 변수를 하나 선언해 getIntent() 함수로 Intent를 받았다.
String 변수를 하나 선언, getStringExtra() 함수를 써서 데이터를 수신받아 String 변수에 넣었다.
TextView 변수에 setText()를 해 주면 끝.
<SubActivity.java>
기본적인 Intent의 개념과 get, putExtra() 함수를 사용해 볼 수 있는 예제였다.
예제를 토대로 로그인 화면과 뒤로가기 버튼을 만들어 보았다.
SubActivity에 버튼을 하나 추가하고 클릭 시 finish()를 호출하도록 했다.
<activity_main.xml>
<activity_sub.xml>
<MainActivity.java>
<SubActivity.java>
별다른 기능이 있는 것은 아니지만 만들고자 하는 App을 상상하며 혼자서 이것저것 해 보니 즐거웠다. 오늘은 여기까지만 하고 자야겠다.
'안드로이드' 카테고리의 다른 글
안드로이드 공부 기초 6(ListView) (1) | 2023.01.18 |
---|---|
안드로이드 공부 기초 5(AndroidManifest.xml) (0) | 2023.01.18 |
안드로이드 공부 기초 4(ImageView & Toast) (0) | 2023.01.16 |
안드로이드 공부 기초 2(EditText & Button) (1) | 2023.01.15 |
안드로이드 공부 기초 1(Android studio 설치 & TextView) (0) | 2023.01.15 |