'Small Devices'에 해당되는 글 125건

  1. 2009.08.02 Android 개발 환경 구축 및 Hello World
반응형

 1. 필요한 프로그램들
 - Java SDK : http://java.sun.com 에서 다운로드
 - Android SDK :  http://developer.android.com 에서 다운로드
 - eclipse IDE : www.eclipse.org 에서 다운로드


2. eclipse 설정 (3.5 Galileo 기준)
 1) eclipse 실행후 [Help]에서 "Install New Software" 선택
 2) add를 클릭하고 name에 android를 location에 http://dl-ssl.google.com/android/eclipse 를 입력, 진행
 3) 라이센스 동의 후 Install에서 Android Developer Tools와 Android Editor를 체크하고 Install
 4) eclipse 재기동 후 [Window]에서 Preference로 들어가서 android를 클릭한다음에 Android SDK 부분을 설정함

3. Hello World 출력
3.1 프로젝트 생성
 1) [File] -> New -> Porject 에서 Android 선택
 2) Project Name을 Hello World 를 선택하고 Build Target은 Android 1.5 로 지정한다
 3) Application Name에는 HelloWorld, Package Name은 com.test.helloworl로 Activity는 helloworldAct로 한다 Min SDK Version은 3으로 설정되어 있음
 4) 처음 프로젝트를 생성하면 "Console"에 no classfiles specified, Conversion to Dalvik format failed with error 1 이라는 에러가 발생한다. 왼쪽 Package Explorer에서 프로젝트를 클릭하고 마우스 오른쪽 버튼을 이용하여 Property로 들어간다
 5) Android 항목에 Project Build Target을 Android 1.5로 클릭하고 Apply를 한다음 OK를 하게 되면 에러가 사라진다.

3.2 생성된 코드 분석
 src 밑에 보면 다음과 같은 파일/폴더가 생성되어져 있다.


helloworldAct.java 를 클릭해 보면 다음과 같이 단순한 코드로 되어 있다.

package com.android.wslee.first_test;
import android.app.Activity;
import android.os.Bundle;

public class Test extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }
}

R.layout.main 의 content view를 설정하는게 끝이다.

R.java를 보면 attr, drawable, layout, string 등의 inner static class들이 정의되어 있는데 이는 리소스를 가르키는 클래스들이다. res 폴더 밑에 있는 내용들을 가르킨다고 생각하면 된다. R.java는 자동 생성된다. (gen 폴더 밑이다!)


res의 main.xml 을 클릭해 보면 화면 편집창이 뜬다. 여기에 보면 Layout 과 View등이 있다. 아래는 그 화면과 main.xml 파일의 내용이다. main.xml 파일 내용중 text="@string/hello"가 보이는데 res에 values를 찍어보면 string.xml이 있고 여기에 보면 hello 라는 string이 있다. @string은 strings.xml에 정의 되어 있다. 


따라서 프로그램이 실행 되면 helloworldAct.java의 onCreate가 불리면서 main.xml 의 layout 을 불러오는데 main.xml에서는 TextView를 하나 가져오고 text는 strings.xml에서 정의된 hello 에 대한 내용을 가져와서 보여준다고 할수 있다.

main.xml 의 layout_width 와 layout_height는 view의 영역을 의미하는 것으로 fill_parent는 부모 객체 크기 만큼 사용하겠다는 의미이고 wrap_content는 컨텐츠가 보일 정도로 사용하겠다는 것이다. 기본 Layout은 lineary layout이 되며 여기에 TextView가 올라간다.

실제 TextView를 보여주기 위해서는 다음과 같이 코드를 이용해도 된다.


 하지만 UI에 대해서 코드로 사용하게 되면 유지보수, 디버깅 등에 단점이 존재하게 된다. 따라서 layout은 xml을 통해서 설정하고 이를 R.java 라는 파일을 통해서 메인 코드가 UI를 이용할수 있도록 한다.


반응형
Posted by alias
,