본문 바로가기

PlatForm/Android

안드로이드 시작하기 - Hello World !!!


목차

1. 안드로이드 SDK 다운로드

2. 자바 JDK(1.5 or Higher Version) 다운로드

3. 이클립스 3.5(3.4 or Higher Version) 다운로드

4. 이클립스와 안드로이드 연동하기

5. Hello World 작성하기.


5. Hello World 작성하기.

대부분의 개발자들은 책이나 대학교/학원 등에서 많이 했을 것입니다.

우스개 소리로 모든 언어의 시작은 Hello World 라는 것이죠.

간단합니다. 언어의 출력 특성에 맞게, 그 곳에 Hello World 라는 글자를 띄워주는 일이죠.

아주 기초적인 내용이기 때문에, 쉽게 따라 할 수 있습니다.

5.1 프로젝트 만들기


>> Package Explorer 혹은 Navigator 에서 마우스 오른쪽 -> New -> Project ... 를 클릭합니다.

나열된 프로젝트 목록 중, Android Project를 선택하고, 다음(Next)를 클릭합니다.

①Project Name을 지정합니다. 필자는 HelloWorld로 했어요.

② Contents 항목 중 Create new project in workspace를 선택합니다.

Create project from existing source는 외부의 소스를 통해 프로젝트를 생성합니다.

Use default location은 현재 프로젝트 작업 공간의 경로를 사용함을 의미합니다.

③ 안드로이드 플랫폼을 선택합니다. 생성하고자 하는 프로젝트가 안드로이드 운영체제의 어떤 버전에서

작동이 되도록 할 것인지 지정합니다.

④ Application Name을 지정합니다. 1번의 Project Name과 동일하게 지정하거나, 사용자 임의로 지정.

⑤ Package name을 지정합니다. 기본 자바 패키지 생성법과 동일한 방법으로 패키지를 입력합니다.

⑥ Create Activity의 이름을 지정합니다.

안드로이드의 개념 중 Activity가 있습니다. 자세한 내용은 www.google.com 을 참고하세요.

⑦ Min SDK Version을 지정합니다.

- 최소 구현될 안드로이드 플랫폼의 API Version을 지정합니다. 하위 플랫폼과의 호환성을 고려하여

구현할 경우에는 버전을 낮게 맞추시기 바랍니다.

동일한 프로젝트를 생성하는데, 테스트 용 프로젝트를 생성합니다.

테스트용 프로젝트를 생성하면, 동일한 프로젝트가 테스트로서 생성이 됩니다.

생성된 프로젝트의 구조입니다. 처음 보신 분들은 뭔가 생소..(저 역시도 아직은 생소 ㅡ.,ㅡ)하겠지만요…

간략하게 설명을 드리자면 아래와 같습니다.

① 실제로 자바 소스를 작성하는 클래스 입니다.

② gen 은 빌드시에 자동으로 컴파일된 파일들이 작성되는 곳입니다. 사용자가 수정하면 안됩니다.

③ Android 2.1-update1 은 현재 개발하고자 하는 플랫폼의 라이브러리가 등록된 곳입니다.

④ res 는 resource 의 약자로서 이미지, 개체 레이아웃, 문자열 등이 저장되고 지정된 파일의 저장소입니다.

- drawable: 이미지 파일들이 저장되는 곳입니다. 해상도별로 3개의 기본 icon.png 가 있습니다.

- layout: 개체들의 레이아웃을 정의하는 곳입니다.

- values/string.xml: 프로젝트에서 사용될 문자열을 정의합니다.

⑤ 프로젝트의 버전, 이름이나 구성 등에 대한 정보를 가지고 있습니다.

⑥ 프로젝트의 빌드 타킷(플랫폼의 버전)이 명시되어 있습니다.

그리고 assets 폴더(4번 항목 위)가 있는데, 이 폴더는 최초엔 빈 항목이 있지만,

추후에 오디오, 비디오 등을 저장하는 저장소입니다.


5.2 Hello World 작성하기.

안드로이드의 화면을 구성할 때는 res/layout을 이용하며, 문자열 값은 res/values/string.xml을 통하여

출력을 합니다. 물론! 패키지의 JAVA 소스를 통해서도 바로 객체를 만들고 구성하고, 담을 수 있습니다.

위의 화면에서 실질적으로 자바 클래스 HelloWorld는 상위 Activity 클래스를 상속받고 onCreate메소드를 오버라이드 하였습니다.

오버라이드 아시죠?, 하여간, 오버라이드 받은 onCreate 라는 메소드는 이전에 프로젝트를 생성할 때, Activity 로 등록하면 자동으로 생성하여 줍니다.

어쨌거나 이 오버라이드 한 HelloWorld클래스는 void android.app.Activity.setContentView 의 layout을 가지고 있고, setContentView(Activity클래스void android.app.Activity.setContentView(int layoutResID)) 에 layout.main을 담고 있습니다.

즉, 이 main 이란 녀석을 살펴보면 (위의 이미지 젤 오른쪽) LinearLayout 이라는 레이아웃 구성요소(Vertical 특성)를 가지고 있으며, 2개의 객체를 담고 있습니다.

2개의 객체 중 하나의 객체는 단순한 글자를 표현하는 TextView와, 하나는 버튼을 생성하는 Button 객체인데요,

이 객체의 text 속성을 살펴보면 @string/hello, @string/close 라는 것으로 명명되어 있습니다.

이것은 다른 곳(즉, values/string.xml을 참고)의 값을 Call by Reference 개념으로 참조하여 표현하겠다는 뜻입니다.

이렇게 값을 가져오는데, 해당 값을 보려고 하면 string.xml에 선언된 String형의 글을 보면 됩니다.

String.xml 요소에는 <resources></resources내부에 선언되어 있습니다.

물론, 현재에는 string 형식만 선언되어 있으나, color 라던가, string-array 등도 선언하고 사용할 수 있습니다.

다시, string 을 보게되면<string name="hello">Hello World, HelloWorld!</string라고 되어있는데요,

이 부분에 name을 hello로 지정하고, 값은 Hello World, HelloWorld!라고 지정했습니다.

이 내용이 main.xml 의 각 객체의 text 부분에서 사용하고 있습니다.

이제 출력된 화면을 보면 아래와 같습니다.

짜라잔, 어떻게, 대충 이해가 가시나요? ^^

원래 프로그래밍은 해봐야 더 이해가 잘 가는 법이니까, 한번 해 보세요.

화 이 팅 !!!!

Ps. 안드로이드 앱이나 아이폰 앱이나 개발하시는 모든 분들 고생 많으세요!

Ps. 대한민국 개발자들 아자!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!