본문 바로가기

Out-of date

[SDK 1.0] #03. Hello, Android!로 배우는 기초 - (1) 코드 맛보기

알립니다!!
현재 보시고 계신 강좌/글은 SDK 1.0를 기준으로 작성된 것입니다.
SDK 업데이트에 따라 변동사항이 있을 수 있으므로 새로운 SDK 버전을 기준으로 작성된 다른 글을 참고하시길 권합니다.



#include <stdio.h>
int main()
{
printf("Hello, World!\n");
return 0;
}

갑자기 왠 C코드냐구요?
음, 일단 안드로이드를 새로 시작하는 입장이므로, 일단 프로그래밍을 처음 시작했던 초심으로 잠깐 돌아가볼 필요가 있겠다 싶어서... 한번 써봤습니다. ^^;;

사실, 저는 프로그래밍을 대학교에 올라와서 본격적으로 배우기 시작했었습니다. 그 전에는 제데로 프로그래밍을 배운 건 없고, 비주얼베이직 책을 사서 혼자 끄적끄적 해보는 정도가 전부였지요. 그러다보니, 대학교에 와서 처음 배운 C언어는 완전히 다른 세계(?) 였습니다. 아무리 간단한 것이라도 모두 외계어(??)로 보이기만 했지요.

위의 코드를 지금 보면 너무나도 간단한 코드입니다만, 첫 프로그래밍시간에 저 코드를 작성하는 것을 실습해봤던 저로서는 결코 저것도 간단하지 않다는 것을 잘 알고 있습니다. 정말 하나하나가 다 외계어일 뿐이지요. 정말, 아무것도 모르는 상태에서 교수님은 빨리 제출하라고 재촉하시고.. 어찌 해야 할 지 잘 몰라 그냥 무조건 타이핑만 해서 겨우 제출했었던 기억이 납니다.

그 때를 생각해보면, 아무리 간단한 것이라도 일단 "코드" 라는 것을 공부하기 전에는, 기본적인 지식이 필요하다고 봅니다. 아이가 처음 언어를 배울 때 글자 하나하나를 알아야 한 단어를 알 수 있는 것과 마찬가지로 말이죠.
그래서, 여기에서 Hello, Android!를 출력해주는 예제 코드를 통해서 작게는 예제 프로그램의 분석, 넓게 보면 안드로이드 응용 프로그램의 기초를 한번 훑어보도록 하겠습니다.

안드로이드 응용 프로그램은 기본적으로 코드를 통해서 작성하도록 되어있으나, 소스 부분이 아닌 레이아웃을 구성하는 방법은 두 가지가 있습니다. 한 가지 방법은 그냥 소스 파일에서 작성하는 방법, 또 한 가지는 xml파일을 통해 레이아웃을 작성하는 방법입니다.

이번 글에서는 안드로이드 코드의 기본적인 것을 알아보는 것이 목적이므로, 소스 파일에서 레이아웃까지 작성하는 예제를 알아보겠습니다.

import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;

public class HelloAndroid extends Activity{
public static void onCreate(Bundle icicle)
{
super.onCreate(icicle);
TextView HelloText = new TextView(this);
HelloText.setText("Hello, Android!");
setContentView(HelloText);

}
}

Hello, Android의 전체 코드는 위와 같습니다. C언어와는 당연히(?) 완전 다른 형태이고, 자바와도 다소 상이한 모습을 하고 있습니다. 코드의 구성 자체가 많이 다르죠. 그럼, 한 줄씩 보면서 파헤쳐보겠습니다.

import android.app.Activity;

일단, 안드로이드 API 중 Activity 클래스를 사용하기 위해 import (C언어에서의 include와 같다고 보면 편하죠)해 줍니다. 그렇다면, Activity란 무엇일까요?????? 이것이 어찌 보면 이번 글에서의 핵심이라고 볼 수 있습니다. 안드로이드에서 Activity란, 응용 프로그램에서 하나의 화면을 구성하는 단위입니다. 보통, 응용 프로그램은 여러 개의 화면으로 구성됩니다.

주소록을 예로 들어봅시다. 주소록 프로그램은, 주소록을 표시해주는 화면, 검색 화면, 주소록 입력(수정)화면 등으로 이루어지며, 이 화면들(기능들)이 합쳐져 하나의 주소록 프로그램을 구성하게 됩니다. 즉, 주소록 목록화면이나 검색 화면을 하나의 Activity라 할 수 있는 것이죠. 이렇게 여러 개의 Activity들이 모여 하나의 Application을 구성하게 됩니다.

각 화면(Activity) 의 집합(묶음) = Application


자 그럼 다음으로 넘어가서..

import android.os.Bundle;

제가 가지고 있는 책에는 프로그램 실행에 필요한 정보가 담겨있다고만 나와있었는데, 직접 Documentation을 참고해보니, 정말 기본적으로 프로그램 작성에 필요한 메소드들이 있습니다. (toString, getString, getshort 등등..) 일단, 이 부분은 C언어에서의 stdio.h와 비슷하다 볼 수 있겠습니다.