따라하는 안드로이드 - Package Explorer 살펴보기

 

즐거운 마음으로 시작한 Hello World!!!
그..그러나..

그 뒤에 무엇을 할지 몰라 망설이게 될 시기...
뭔가 해보고 싶은데.. 할 줄 아는게 아직은 없고..
우선 프로젝트 구조를 알아둬야겠네요.

 

>> 프로젝트 구조 탐색

 

안드로이드 프로젝트는 어떻게 생겼는지 잠시 살펴보도록 하겠습니다.
이클립스를 실행한 화면 왼쪽에 Package Explorer라고 탐색기와 비슷하게 생긴 항목이 있습니다.
이것을 살펴보면서 저처럼 잘생겼는지 (응?!   )
여튼 간단하게 살펴보도록 하겠습니다.

 

                        





 

[그림 1-1. 왼쪽에 Package Explorer를 살펴보도록 하겠습니다.]

 

 

 

화면이 작아서 잘 안보이니 구석구석 살펴보기 위해 항목을 다 열어보았습니다.

 

 

[그림 1-2. Package Explorer를 펼쳐보면~~]

 

프로그램을 한다고 한다는 분들은..

아~ 대충 어떤 역할을 하는지 알겠구나.. 할것입니다.

 

- Android 1.6 패키지

프로젝트 생성시에 선택했던 안드로이드 버전을 나타냅니다.
(건드리지 않는게 정신상 좋습니다. 참조할 뿐 직접 건드릴 이유는 없는 폴더 입니다.)

 

- src 폴더

프로그램이 동작하는데 사용되는 소스 파일을 생성하고 코드를 작성하는 곳입니다.
안드로이드 기본 단위인 Activity, Service 등을 생성하고 동작을 기술합니다.
패키지 형태로 폴더를 구분하며 class, interface 등의 자바 파일을 생성, 관리 할수 있습니다.

 

- gen 폴더

이곳은 잘못 건드릴 경우, 안드로이드 프로젝트의 심각한 영향을 끼칠 수 있는 곳이므로 절대적으로 수정을 하면 안되는 곳 입니다.
사용자가 만든 버튼, 레이아웃등의 변수 뿐만 아니라 이미지, 음악 파일등의 쉽게 접근가능하도록 int 값의 코드로 정의하는 곳입니다.
사용자가 변수를 추가하거나, 이미지등의 파일을 넣을 때, 자동으로 관리해주므로 직접 편집하면 안됩니다.

 

- assets 폴더

리소스 폴더라고 생각하시면 됩니다.
사용자가 필요한 비디오, 오디오 등을 넣으면 됩니다.
용도에 따라서 Database, 폰트 등이 들어갈 수 있습니다.

 

- res/drawable 폴더

이미지 파일을 저장하는 곳 입니다.
안드로이드 1.5 이하에선 drawable 폴더 하나밖에 없지만, 1.6 이상에선 해상도에 따라 3가지 버전으로 나뉩니다.
고해상도(WVGA :  480x800)는 hdpi , 중간해상도(HVGA : 320x480)는 mdpi, 저해상도(QVGA : 240x320)는 ldpi 로 용도에 맞게 이미지를 저장해서 넣으시면 됩니다.
보편적으로 mdpi에서 작업을 하면 무난합니다.

 

- res/layout/main.xml

안드로이드에서 보이는 화면을 레이아웃으로 정의하여 작성하는 곳 입니다.
위지윅 에디터와 같은 GUI 환경에서 화면에 버튼등의 객체를 올려서 원하는데로 배치를 할 수 있습니다.
각각의 ID를 부여해서 src 폴더에서 Activity에서 지정을 하여 사용할 수 있습니다.

 

- res/values/string.xml

화면에 사용되는 문자열을 정의하는 파일입니다.
layout 또는 src 상에서 문자열을 가지고 와서 사용할 수 있으며, 국가코드를 붙여서 안드로이드의 언어 설정에 따라 문자열을 변경할 수 있습니다.

 

- AndroidManifest.xml 파일

안드로이드 프로젝트를 구성하는데 가장 핵심적인 파일로 버전, 파일의 구성, 권한등을 관리합니다.

 

- default.properties 파일

프로젝트의 빌드가 명시되어 있습니다.

 

위와 같은 구조로 되어 있습니다.

>> 다음엔...

 

구조를 살펴보긴 했는데, 간단하게 알아본거라서 아직은 이해가 되지 않는 부분이 많을거 같아요.
              오늘은 Package Explorer 을 알아봤는데요. 위아래 다른 View 들이 보일겁니다.
              이것들에 대해서 알아보기로 해요~

 

 

알아보고 싶은것들... Console, DDMS, LogCat 등등..