프로젝트 구성과 Avtivity Lifecycle

2012.03.10 00:39

Study4U Views:1351

이클립스의 프로젝트 창에 있는 Hello 프로젝트를 클릭하면 아래 그림과 같은 구조로 되어있습니다.

 

Android_Cl3_1.png

 

src 폴더 아래에 있는 Hello.java 파일은 메인소스 파일입니다.

gen 폴더는 시스템이 자동으로 관리하는 파일로서 특별히 작업할 필요가 없습니다.

Android 폴더아래에 있는 android.jar 파일은 응용프로그램이 참조하는 안드로이드의 기본 라이브러리 파일입니다.

assets 폴더는 리소스 폴더로 비디오나 오디오등의 파일이 저장됩니다.

bin 폴더는 컴파일된 파일이 저장됩니다.

res 폴더 아래에 있는 drawable 폴더는 이미지 파일이 해상도별로 고중저로 분류되서 저장됩니다.

res > layout > main.xml 파일은 화면구성에 대한 정보 파일입니다. 레이아웃을 정의하여 응용프로그램을 디자인할때 사용됩니다.

values 폴더아래의 strings.xml 파일은 프로젝트에서 사용되는 문자열들이 저장되어 있습니다.

AndroidManifest.xml 파일은 프로젝트의 버전, 이름 구성등에 대한 정보가 담긴 파일입니다.

project.properties 파일은 프로젝트의 빌드타켓이 명시되어 있는 파일입니다.

 

 

2. src 폴더아래 팩키지이름 아래에 있는 Hello.java 파일을 더블클릭하면 아래와 같이 메인소스의 내용이 출력됩니다.

 

Android_Cl3_2.png

 

눈여겨 봐야 하는 부분이 onCreate() 함수입니다. 제일 처음 실행되는 함수가 onCreate 함수인데, 부모 클래스의 onCreate 함수가 호출되어 있습니다.

다음으로 setContentView 함수가 있습니다. 화면에 내용을 출력시키는 함수입니다. 즉, 시스템이 자동 생성, 관리하는 gen 폴더아래에 있는 R.java 파일에 명시되어 있는 layout 의 main 부분을 채워서 화면을 구성하라는 의미입니다.

 

안드로이드는 Activity, Broadcast Reciver, Contents Provider, Service 라는 4개의 컴포넌트를 사용하여 응용프로그램을 개발할 수 있습니다.

 

그중에 Activity 는 다음과 같은 과정을 거쳐 실행되게 되는데,

Activity 가 처음에 시작되면서, onCreate -> onStart -> onResume 함수가 순차적으로 실행되면서 activity 가 수행됩니다.

전화나 문자를 보낼때 화면전환을 하게되는데, 이때 onPause -> onStop 함수가 순차적으로 호출되고, 다시 이전 화면으로 되돌아가게되면 onRestart 함수가 호출되면서, 다시 onStart -> onResume 함수가 실행되면서 다시 activity 가 수행되게 됩니다.

이러한 함수들을 관리하면서, 응용프로그램을 개발하게 됩니다.

아래 그림을 참조하세요.

 

Android_Cl3_3.png

 

다음에는 화면 구성의 원리와 출력되는 방법에 대해서 학습해 보겠습니다.