안드로이드 스튜디오_안드로이드 버튼에 메시지 넣기

버튼을 사용한다는 것은 이벤트를 처리한다는 것인데 기존의 표준 자바를 사용해본 분이라면 자바에서는 코드 상에서 이벤트를 처리한다는 것을 아실겁니다. 안드로이드에서도 표준 자바와 동일한 방식을 사용할수 있습니다. 그렇지만 지금까지 만든 버튼은 res/layout/activity_main.xml 파일안에 들어가 있으므로 자바 소스가 아니며 자바 소스에 이벤트 처리를 위한 고드를 추가할 수 없어 보입니다. 그래서 코드에서 이벤트 처리가 가능하도록 추가 작업이 필요합니다.

 

1.XML 레이아웃 파일의 버튼에 onClick 속성 값 넣기

res/layout/activity_main.xml 파일에서 정의된 버튼에 onClick 속성 추가

2. 자바 파일에 이벤트 처리 메소드 추가하기

이벤트 처리 메소드의 이름은 위에 넣은 onClick속성 값과 같아야 함


XML 레이아웃 파일의 버튼에 onClick 속성 값 넣기

안드로이드 스튜디오 화면의 가운데 영역에서 ‘activity_main.xml’이라는 이름으로 표시된 탭을 활성화 한후 design 탭을 누르면 스마트폰 화면이 보이게 됩니다.

 

화면에서 버튼을 선택 후 Properties 영역을 보면 ‘onClick’라는 속성을 볼 수 있습니다.


그 속성값으로 ‘onButton1Clicked’ 글자를 입력합니다. 이렇게 값을 지정하면 이버튼이 클릭되었을 때 ‘onButton1Clicked’ 라는 함수를 찾아 실행하라는 의미가 됩니다.

 

스마트폰 화면 모양이 보이는 영역에서 아래쪽 Text탭을 열어 보면 XML 원본 코드가 보입니다.

 

이 코드를 보면 <Button>으로 시작하는 태그안에 ‘android:onClick’이라는 속성이 추가되어 있고 그값으로 방금전 입력한 ‘onButton1Clicked’가 들어가 있는 것을 알 수 있습니다.

 


코드가 변경 되었으므로 버튼 클릭시 속성은 ‘android:onClick’이라는 이름을 가진다는 것을 알 수 있습니다.

스마트폰 화면 모양이 보이는 곳에서 속성 값을 넣어 주면 이 코드도 자동으로 바뀐다는 것을 확인할 수 있습니다.

 



자바 파일에 이벤트 처리 메소드 추가하기


XML레이아웃 파일에서 버튼 태그에 onClick속성을 추가하고 이 속성 값을 이용해 자바 코드에서 만든 메소드를 자동으로 실행할 겁니다.

이제 메소드를 추가해 봅시다메소드 추가는 ‘MainActivity.java’탭에서 합니다.


 

다음은 버튼 객체를 눌렀을 때 실행되도록 추가한 onButton1Clicked()함수입니다.

이 코드는 onCreate()메소드 하단에 추가합니다.


함수: public void onButton1Clicked(View V) {Toast.makeText(getApplicationContext(),"시작 버튼이 눌렸어요", Toast.LENGTH_LONG).show();

}


Toast(토스트)는 작고 간단하게 메시지를 보여주는 방법으로 그냥 따라 입력하면 됩니다.

코드를 추가 하면 안드로이드 스튜디오는 자동으로 코드를 체크하고 그 후에 오류가 있으면 오류를 표시합니다.

새로 추가된 Toast클래스를 발견할수 없다는 의미로 Toast밑에 줄이 생기는 것을 볼수 있습니다.

또한 파일이름탭에도 빨간 밑줄이 표시됩니다이 오류표시줄을 없애려면 alt+enter 키를 눌러주시면 됩니다.

 

Toast는 잠시 보였다가 없어지는 메시지를 표시할 수 있도록 해주는 것으로 makeText()메소드와 show()메소드를 이용해 메시지를 보여줍니다

여기에서는 버튼이 눌렸을 때 시작버튼이 눌렸어요’ 라는 메시지를 보여주도록 했습니다.

코드가 오류없이 완성되었다면 실행을 눌러 화면에 보이는 버튼을 클릭합니다.

 

간단한 메시지가 보였다가 사라지는 것을 볼 수 있습니다




안드로이드 스튜디오 안드로이드 화면에 버튼 넣기

화면에 버튼을 만들고 버튼을 눌렀을 때 정보를 보여주는 기능을 넣어보겠습니다.

 

▶res/layout/activity_main.xmltext를 다시한번 들어갑니다.

 



▶<TextView>태그를 <Button>태그로 변경



<Text View> 태그가 화면에 나타나는 글자를 참조한다는 것을 알아 보았으니 텍스트를 보여주는 태그가 여기 들어있다는 것을 알 수 있습니다

이제 <Text View>태그를 <button>으로 바꾼 후 실행해 보겠습니다.

 

*button으로 입력하면 오류가 뜰 수 있습니다. Button으로 대문자를 유의하여 입력해주세요

 

▶<Button>태그 입력 후 다시 실행한 화면

 

TextViewButton으로 변경한 것 뿐인데 화면에 버튼이 하나 만들어졌지요?

안드로이드는 기초가 되는 코드부터 디자인 패턴을 많이 적용하여 만들어졌기 때문에 쉽게 이해하며 프로그래밍 할 수 있는 구조를 가지구 있어요.

 

그 특징중 하나가 buttonTextView를 상속하고 있는 것인데 이렇게 상속하여 정의된 버튼은 TextView태그를 Button 태그로만 바꿔도 텍스트뷰의 속성을 그대로 사용할수 있고 오류없이 화면이 바뀌게 됩니다.




+ Recent posts