블로그 이미지
내게 능력 주시는 자 안에서 내가 모든것을 할수 있느니라 - 빌립보서 4 : 13 - happydong

카테고리

Happydong (1363)
프로그래밍 (156)
MUSIC (16)
인물 (3)
Utility (10)
세미나 소식&내용 (22)
IT뉴스 (18)
운동 (830)
CAFE (10)
Life (282)
Total
Today
Yesterday

'findViewById'에 해당되는 글 1건

  1. 2013.06.12 [Android] 안드로이드(Android) 버튼(Button) 사용법



 어떤 개발을 하던 사용자의 이벤트를 받아서 처리하는 것이 대부분 일 것이다. 처음 안드로이드를 공부하는 중인데간단하게 버튼 사용 법에 대해서 샘플 코드를 작성하면서 알아 보겠다.

 
프로젝트를 생성하면 아래 그림과 같이 생길 것 이다



[그림 1 - 샘플 프로젝트 구성 내용]



그럼 activity_main.xml 파일은 View를 처리하는 역할을 하고, MainActivity.javaController의 역활을 한다고 생각하면 된다. 그럼 activity_main.xml에서 간단하게 버튼 하나를 올려보자.



<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

    xmlns:tools="http://schemas.android.com/tools"

    android:id="@+id/LinearLayout1"

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    android:orientation="vertical"

    android:paddingBottom="@dimen/activity_vertical_margin"

    android:paddingLeft="@dimen/activity_horizontal_margin"

    android:paddingRight="@dimen/activity_horizontal_margin"

    android:paddingTop="@dimen/activity_vertical_margin"

    tools:context=".MainActivity" >

 

    <Button

        android:id="@+id/startBtn"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:text="@string/hello_world" />

 

</LinearLayout>

[코그 1 - activity_main.xml 소스코드]


버튼(Button) 속성은 대충 보면 어떤걸 의미하지는 알 수 있을 것이다. 따로 설명은 하지 않겠다.
주요하게 id를 지정할 때 "@+id/"로 하는 것은 잘 기억해두자. 안드로이드 같은 경우 ‘@’기호로 ID를 찾기 때문에 “@+id/” ID를 추가 한다고 생각하면 될 것이다. 이렇게 정의 하게 되면 이 내용은 R.java파일에 기록이 된다. 그럼 .java파일에서 해당 Object를 찾을 수 있다.



           @Override

           protected void onCreate(Bundle savedInstanceState) {

                     super.onCreate(savedInstanceState);

                     setContentView(R.layout.activity_main);

                    

                     // View 있는 id 버튼 이벤트를 정의합니다.

                     Button startBtn = (Button)findViewById(R.id.startBtn);

                    

                     // OnClickListener를 이용해 버튼 이벤트 처리

                     startBtn.setOnClickListener(new OnClickListener() {

                               

                                @Override

                                public void onClick(View v) {

                                          // Toast 메세지창이 잠깐 나왔다 들어가는 것이다.

                                          // 이는 makeText()함수와 show()함수를 이용해 메세지를 보여줄수 있다.

                                          Toast.makeText(getApplicationContext(), "시작 버튼이 눌렀어요.", Toast.LENGTH_LONG).show();

 

                                }

                     });

                    

           }

[소스 2 – MainActivity.java 소스코드]


[소스 2]View에서 선언한 Button의 인스턴스를 생성한 후 해당 이벤트를 정의하는 코드이다. findViewById 함수를 이용해서 View에서 선언한 Button의 인스턴스를 만든다. 그리고 OnClickListener를 이용해서 버튼의 이벤트를 정의한다.  Toast를 이용해서 잠깐 나타났다 사라지는 메시지창을 이용해서 메시지를 간단하게 띄운다. 위 소스를 쓰다 보면
OnClickListener
Toast를 작성할 때 에러가 날 것이다. 이는 import가 안되서 그러는데 코드를 다 작성한 후 ctrl + Shift + o(영문)를 누루면 자동으로 필요한 내용이 import된다. 위 코드 까지 넣고 실행해 보면, 메시지가 잘 뜨는 것을 볼 수 있을 것이다.

여기서 중요한 것 findViewById함수를 이용해 객체 찾아 인스턴스 생성하기, OnClickListener를 이용해 버튼 이벤트 정의하기 정도가 되겠다.









Posted by happydong
, |