프로그래밍/Android2010.06.21 11:42
앞서 보았던 자동으로 생성된 HelloWorld 프로젝트에 종료 버튼(Button)을 추가해 보겠습니다.
우선 버튼에 표시될 문자열을 문자열 리소스에 추가하고, 레이아웃 리소스에 Button 요소를 추가하겠습니다.
마지막으로 Activity 클래스에 Button 클릭 시에 동작하는 코드를 추가하겠습니다.

■ 문자열 추가

버튼에 표시될 문자열을 [res/values/strings.xml] 에 추가합니다. 아래 그림과 같이 [Resouces] 탭에서 [Add] 버튼 클릭 후 String 요소를 추가합니다.


추가된 String 엘리먼트에 아래와 같이 Name에 "finish_label"을 Value에 "Finish"를 속성값으로 입력합니다.


버튼을 추가한 strings.xml 은 다음과 같으며 위와 같은 방식이 아닌 5라인과 같이 직접 코드를 추가해도 됩니다.
    Hello World, HelloWorldActivity!    HelloWorld	Finish

■ 레이아웃에 Button 추가

[res/layout/main.xml] 파일을 연 후 아래 그림의 디자인 모드에서 [Views] 에 있는 Button 을 Drag&Drop 하거나
오른쪽 마우스를 클릭하여 컨텍스트 메뉴에서 [Add...]를 선택하여 Button 요소를 추가합니다.


추가된 버튼에는 "Button01"이라는 문자열이 자동으로 붙는데 이것을 앞에서 추가한 문자열로 수정하기 위해서는
아래 그림과 같이 하단의 [Properties] 탭에서 "Text" Property를 [finish_label]로 설정합니다.


수정된 strings.xml 파일은 다음과 같으며, 이것 역시 직접 코드를 추가해도 됩니다. 

■ Activity 클래스에 Click 이벤트 추가

Activity 클래스에 버튼을 클릭했을 때 동작하는 코드를 아래와 같이 추가합니다.
package kr.juhoi.helloworld;import android.app.Activity;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;public class HelloWorldActivity extends Activity implements OnClickListener {    /** Called when the activity is first created. */    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);                Button button = (Button)findViewById(R.id.Button01);                button.setOnClickListener(this);    }	public void onClick(View v) {		// TODO Auto-generated method stub		if (v.getId()==R.id.Button01) {			finish();		}	}}
9라인에서 OnClickListener 인터페이스를 implements 하여 21라인의 onClick 메소드를 구현합니다.
16라인에서 findViewById 메소드를 사용하여 Button 엘리먼트를 찾은 후 18라인에서 setOnClickListener 메소드로
버튼 클릭 시 이벤트를 등록하게 됩니다.

버튼이 추가된 프로그램의 실행 화면은 아래와 같습니다.


저작자 표시 비영리 변경 금지
신고

'프로그래밍 > Android' 카테고리의 다른 글

종료 버튼(Button) 추가  (0) 2010.06.21
시작은 Hello, World~~  (0) 2010.06.20
Android 어플리케이션 개발환경 구축  (0) 2010.06.15
Android 어플리케이션 개발 시작  (0) 2010.06.10
Posted by JuHoi
TAG