태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.

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

2008.11.29 11:40

알립니다!!
현재 보시고 계신 강좌/글은 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와 비슷하다 볼 수 있겠습니다.


커니 Out-of date , , , , , , , , , ,

  1. 강좌 너무 쉽고 재밋게 잘보고 있어요

    이렇게 상세하게 해주는 분이 안계셨는데 감사합니다 앞으로도 좋은글 많이 부탁드려요^^

  2. 감사합니다 :)

  3. Blog Icon
    이거 반갑습니다.

    편해좋네요, C언어랑 비교해주시는것도 감사하구요. 이해가 빠르네요....전 1991년도에 C를 했었는데....

    아 그땐 일주일씩 밤새도 안피곤한 체력이였구먼, 지금은 ㅋㅋ. 잘부탁드려요.

  4. 91년이라...와우,, 저는 아직 아무것도 모를 때군요 ㅎㅎ

  5. 정말 좋은글 보고 갑니다.
    앞으로도 많은 글 부탁드리겟습니다..저도 자주 와서 만약에라도 조금이라도 알게 되면 많이 도움이 되고 싶습니다.

  6. 최근 사정때문에 글이 뜸했네요..ㅎㅎ
    요즘 기초 강좌를 다시 작성하고 있으니, 조만간 잘 정리된 모습으로(?) 찾아뵙겠습니다 ㅎㅎ

  7. Blog Icon
    민대풍

    좋은정보 얻어 갑니다^^ Hello, Android!

  8. Blog Icon
    후루꾸엑스킴

    너무 재미있게 잘 쓰셨네요. 감사합니다.

  9. Blog Icon
    홍냐리홍냐

    늦었지만 강좌 보고있는데 자세한 설명 감사합니다.

  10. 입문자가 보기에 너무 좋은 글입니다. 쉽고 이해가 잘 가도록 정말 글을 잘쓰시네요
    다음강좌도 잘 보겠습니다.~

  11. Blog Icon
    DarkLTH

    C 개발만 하다가 이번에 늦게나마 안드로이드를 공부할려고 했는데.. 어려움이 참 많이 있더군요. ~
    덕분에 많은 내용 알고 갑니다. 앞으로도 종종 부탁 드릴께요. ~~
    감사합니다.

  12. Blog Icon
    Jibsi

    Androidside에서 보다가 이쪽으로 넘어왔네요^^;;
    궁금한거를 이렇게 콕 집어서 알려주시니 앞으로 나와있는 강좌 열심히 볼게요.
    감사합니다~(_ _)

    마지막 부분에 import android.app.Bundle => app가 os로 수정 되어야 할거 같아요 (_ _)... 으음..ㅠ_ㅠ..

  13. 수정하였습니다~ :)

  14. Blog Icon
    꽃게장세트

    안드로이드를 개발하려고 하는데요, 많은 도움이 됩니다.^^