안드로이드 버튼 생성 및 변경하기


이제는 안드로이드 버튼을 만들고 수정해보도록 하겠습니다. 실습을 통해서 실제로 만들어보는 것이 안드로이드 시스템의 구동 구조를 익히는 가장 빠른 길입니다.

이어지는 내용이므로 아래 이전 포스팅을 순서대로 학습바랍니다.



이클립스를 열고 왼쪽의 Package Explorer에서 HellowAndroid > res > layout에 activity_main.xml 화일을 클릭합니다.
activity_main.xml을 클릭하면 오른편 화면에 Graphical layout 탭이 보일 것입니다. Graphical layout 탭을 클릭합니다.



마우스로 왼편의 Button을 클릭해서 오른쪽 화면으로 드래그합니다. 오른쪽으로 드래그 하면 화면상에 버튼이 생성됩니다.
이렇게 편리하게 드래그로 화면을 구성할 수 있습니다.

Graphical Layout에서 만든 버튼의 소스를 살펴보도록 하겠습니다. 하단의 activity_mail.xml 탭을 클릭합니다.



activity_mail.xml 탭을 클릭하면 activity_mail.xml 소스가 나타납니다.
아래 화면과 같이 <Button> 태크로 시작하는 소스가 자동으로 생성된 것을 알 수 있습니다.


이번에는 activity_main.xml 화일의 소스코드를 수정해서 버튼을 만들어 보도록 하겠습니다.
새로운 버튼을 만들기 위해서 먼저 TextView 부분을 복사해서 아래에 붙여넣기를 합니다.

Button 부분을 복사해서 사용하지 않고 TextView를 복사한 것은 TextView에서 디스플레이 되고 있는 Hello Android! 라는 value 값을 그대로 사용하려고 하기 때문입니다.



아래 화면에 동그라미를 친 것과 같이 TextView를 Button으로 변경하고, @+id/textView1 부분을 @+id/button2로 변경하고 저장합니다.
안드로이드 앱시스템은 ID를 사용을 위해서 '@+id'란 표기방식을 사용합니다. 이런 표기방식으로 안드로이드 시스템에서 유일한 ID 값을 표현합니다. 



activity_main.xml 탭을 저장을 한 뒤에 Graphical Layout 탭을 클릭하면 다음과 같이 HELLO ANDROID! 라는 버튼이 생성되었음을 확인 할 수 있습니다. 



Java 소스에서 직접 ID로 객체를 호출하는 방법


현재까지는 아래 화면과 같이 텍스트뷰 한 개와 버튼 두 개가 만들어져 있습니다. 이번에는 아래 동그라미한 버튼을 클릭하면 OK 버튼 클릭 이라는 문구를 화면에 출력시키는 것을 학습하겠습니다. 여기에서 자바 소스코드에서 ID로 객체를 호출하는 방법도 함께 알아보겠습니다.



자바(Java) 소스에서 ID 값을 찾을때 사용하는 함수는 findViewById() 함수입니다.
findViewById() 함수의 사용 방법은 아래와 같습니다.


MainActivity.java 소스에 아래 화면과 같이 버튼 객체 소스를 추가합니다.



버튼 객체를 추가하면 버튼 밑에 빨간 줄이 나타난 것을 볼 수 있습니다. 이 빨간줄을 없애기 위해서 Ctrl+Shift+O(알파벳)를 눌러주면 이클립스는 자동으로 Button 클래스를 import합니다.

Java에서는 해당 클래스를 사용하려면 import를 해주어야합니다. 그렇지 않으면 컴파일 오류가 발생합니다.
이클립스는 import를 하지 않은 클래스를 자동으로 import 해주는 기능이 바로 단축키로 Ctrl+Shift+0(알파벳)입니다. 

클래스를 자동으로 import할 때, 특정 함수 이름이 동일할 때는 사용자에게 알맞은 클래스를 선택하라는 다이얼로그 팝업이 뜨게됩니다. 우리는 View 클래스안의 OnClickListener를 사용하기 때문에 첫번째 것을 import로 선택하면 됩니다.




그럼 이제 MainActivity.java 를 다음과 같이 변경해보도록 하겠습니다.

onCreate() 함수안에 Button 클릭에 관한 소스를 추가합니다.



안드로이드 어플리케이션을 실행한 뒤에 Button을 클릭하면 OK 버튼 클릭이라는 문구가 표시되는 것을 확인할 수 있습니다.


+ Recent posts