본문 바로가기

Out-of date

[SDK 1.0] #03. Hello, Android!로 배우는 기초 - (4) 새 프로젝트 생성

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



마지막으로 강좌를 쓴 지도 꽤나 오랜 시간이 지났네요.
그 동안 나름대로 제가 공부하면서 이해가 잘 되지 않는 것도 있었고, 강좌를 쓸 시간도 다소 부족해서 이제야 다음 강좌를 이어가게 되네요.

저번 글까지는 Hello, Android 코드를 통해 기본적인 것들을 알아보았으니, 프로젝트를 만들고 실행해보는 것에 대해 알아볼 차례입니다. 일단, 프로젝트를 만들어야겠죠? 프로젝트를 생성하기 위해, 이클립스 메뉴의 File -> New -> Project 메뉴를 클릭한 후, "Android Project"를 선택합니다. 


그 다음, 패키지 이름을 비롯하여 Application의 기본 정보들을 입력하는 화면이 나오는데, 빈 칸에 자신이 원하는 대로 입력해 주면 됩니다. 다음과 같은 항목이 보일 겁니다.

Project Name : 프로젝트 이름을 입력합니다. 아무렇게나(..) 입력해도 상관없습니다.
Package name : 패키지 이름을 입력합니다. 이 강좌에서는 com.androidhuman.HelloAndroid로 하겠습니다.
Activity name : 액티비티 이름을 적어줍니다. 이곳에서는 HelloAndroid로 하겠습니다.
Application name : 어플리케이션 이름을 적어줍니다. 이곳에서는 액티비티와 같이 Hello, Android로 하겠습니다.

모든 항목을 올바르게 적은 후, Finish 버튼을 누르면 기본 파일들이 생성되게 됩니다. 기본적으로 생성되는 파일들 중 몇 가지 짚고 넘어가 보겠습니다. 우선, 가장 처음 보이는 것이 아마 HelloAndroid.java 파일일텐데, 이 코드에 대한 설명은 앞에서 다루었으므로, 이번에는 다른 것에 대해 다뤄보도록 하겠습니다.



왼쪽의 프로젝트 내의 파일 목록을 보면, AndroidManifest.xml 파일이 보일 것입니다. 이 파일에는 어플리케이션의 각종 권한설정, 액티비티 설정, Intent-Filter에 대한 항목들이 포함되어 있습니다. 즉, 전반적인 설정을 담고 있는 파일이라 보시면 됩니다.

그 다음, res 폴더가 있고, 그 하위 폴더로 drawable, layout, values 폴더가 있을 것입니다. res 폴더는 어플리케이션에서 사용되는 각종 객체 및 레이아웃, 문자열 데이터가 저장되는 폴더입니다. 이 중, layout 폴더를 보시면 main.xml 파일이 있을 것입니다. 이는 액티비티 내 각 객체들의 레이아웃을 지정해주는 파일입니다.

그리고, assets 폴더가 보일 것입니다. 이 폴더에는 오디오 파일이나 애니메이션 파일이 들어가게 됩니다. 마지막으로, src 폴더 내에는 HelloAndroid.java 파일과 R.java 파일이 있을 것입니다. HelloAndroid.java는 액티비티의 코드를 담고 있는 파일인데, R.java는 무엇일까요?

R.java파일에는 각 폴더 내에 들어있는 각종 객체 (이미지, 레이아웃, 문자열 데이터)에 접근할 수 있는 포인터 주소가 저장되어있습니다. 이 파일은 따로 사용자가 수정하면 안되며, 객체에 변동이 있을 때 자동으로 갱신되게 됩니다. R.java파일은 다음과 유사한 형태를 띄고 있을 것입니다.

public final class R{
public static final class attr{
public static final class drawable{
public static final int icon=0x7f020000;
}
public static final class layout{
public static final int main=0x7f03000;
}
public static final class string{
public static final int app_name=0x7f04000
}
}
}

위와 같이, 각 객체에 접근할 수 있는 포인터 값들을 가지고 있습니다.
다음 글에서는 이번 글에 이어서 기본적으로 생성된 파일들에 대해 더 설명하고, 실제로 에뮬레이터를 통해 구동하는 과정까지 다뤄보도록 하겠습니다.