안드로이드 스튜디오 예제 1 – 프로젝트 생성, 클래스 추가, 이벤트 처리

첫 번째 안드로이드 스튜디오 예제이다. 안드로이드 앱을 개발하려면 안드로이드 스튜디오(Android Studio)라는 프로그램을 사용해야 하는데, 안드로이드 스튜디오는 비쥬얼 스튜디오의 마법사(wizard)와 같은 기능을 제공한다. 안드로이드 스튜디오를 실행시키고 일련의 설정들을 입력해 주면 쉽게 기본적인 프로젝트를 자동으로 생성해준다. 본 예제에서는 텅 비어 있는 화면(empty activity)를 하나 생성할 것이다. 그리고, 텍스트뷰(TextView)와 버튼(Button)을 하나씩 배치하고, 버튼을 누르면 텍스트뷰의 내용이 변하도록 할 것이다. 이 과정에서 버튼의 이벤트 처리를 다루게 될텐데, 이벤트 리스너(event listener) 방식을 사용할 것이다. 또한, 독립적인 JAVA 클래스를 하나 만들어서 활용하는 방법도 보게 될 것이다. 사용된 안드로이드 스튜디오의 버전은 1.5.1이며 Windows 7에서 작업하였다.

——————————————————————————————————–

안드로이드 스튜디오를 실행한다.

“Start a new Android Studio project”를 선택한다.
welcomescreen

“Application name”에 “TestApplication”을 입력하고 Next 버튼을 클릭한다.
createnewproject

“Phone and Table”, “Minimum SDK = API 22″를 선택하고 Next 버튼을 클릭한다.targetandroiddevices

“Blank Activity”를 선택하고 Next 버튼을 클릭한다.addanactivitytomobile

“Activity Name”에 “TestActivity”를 입력하고 Finish 버튼을 클릭한다.customizetheactivity

“C:\AndroidStudioProjects\TestApplication” 폴더가 생성된다.TestApplicationFolder

그리고, 다음과 같은 모습의 안드로이드 스튜디오를 볼 수 있다.
(content_test.xml이 선택된 상태) androidstudioinitialstate

“Hello World!”가 적혀있는 텍스트 뷰를 선택하고 스냅기능을 이용해서 가운데로 이동한다.androidstudiotocenter

“Hello World!”가 적혀있는 텍스트 뷰를 더블클릭하고 id에 textView1을 적어준다.textView1

“Test Activity”를 선택하고, 다음과 같은 코드를 추가한다.

import android.widget.TextView;

TestActivity::onCreate()에 다음과 같은 코드를 추가한다.

TextView textView1 = (TextView)findViewById( R.id.textView1 );
textView1.setText( "Hello World!!!!!" );

findViewById

Shift+F10를 눌러서 “Device Chooser”를 띄우고, 실행시킨다.result1

마우스 오른쪽 버튼을 눌러서 새로운 Java Class를 생성한다.newjavaclass

클래스의 이름은 MyClass를 입력한다.createnewclass

다음과 같이 클래스를 작성해준다.

package com.example.administrator.testapplication;

public class MyClass {

    public String text;

    public MyClass() {
        text = "HaHaHaHaHa";
    }
    
}

TestActivity.java에서 TestActivity::onCreate()에 다음 코드를 추가해준다.

MyClass myClass = new MyClass();
TextView textView1 = (TextView)findViewById( R.id.textView1 );
textView1.setText( myClass.text );

Shift+F10를 눌러서 “Device Chooser”를 띄우고, 실행시킨다.result2

content_test.xml를 선택하고, Button을 끌어와 TextView 아래에 위치시킨다.addbutton

버튼을 더블클릭하고 text: “Change Text”,  id: “button1″을 적어준다.
buttonid

버튼 왼쪽에 나타난 전구 아이콘을 클릭하여 나타난 [I18N]을 클릭한다.buttonicon

“Resource name”에 “changetextbutton”을 적고 OK 버튼을 클릭한다.changetextstring

“Rendering Problems” 메시지가 나오면, Refresh버튼을 클릭한다.renderingproblemrefresh

 

TestActivity.java를 선택하고, 다음의 코드를 추가해준다.

import android.widget.Button;

TestActivity.java에서 TestActivity::onCreate()에 다음과 같이 코드를 수정해준다.

TextView textView1 = (TextView)findViewById( R.id.textView1 );
textView1.setText( "Hello World!!!!!" );

Button button = (Button)findViewById( R.id.button1 );
button.setOnClickListener(
        new Button.OnClickListener() {
            public void onClick( View v ) {
                MyClass myClass = new MyClass();
                TextView textView1 = (TextView)findViewById( R.id.textView1 );
                textView1.setText( myClass.text );
            }
        }
);

Shift+F10를 눌러서 “Device Chooser”를 띄우고, 실행시키면 다음과 같이 보인다.result3

“CHANGE TEXT” 버튼을 클릭하면 다음과 같이 텍스트가 변경된다.result4

뷰(view)에서 발생한 이벤트(event)는 이벤트 큐(event queue)에 저장되고 선입선출(FIFO) 방식으로 처리된다. 만일 이벤트가 발생한 뷰(view)에 이벤트를 리스닝(event listening)하는 리스너(listener)를 등록했다면 해당 콜백(callback) 함수가 호출된다.

onClick 리소스를 사용하게되면 이벤트 리스너(event listener)에 비해 보다 간단하게 이벤트(event)를 처리할 수 있지만, 여러가지 기능상의 제약이 있기 때문에 보통의 경우 이벤트 리스너(event listener) 방식을 사용한다.

 

답글 남기기