[1.애플리케이션 구성 요소 ]
안드로이드 애플리케이션은
Activity,
Intent Receiver,
Service,
Content Provider
네가지로 구성 요소로 이루어져 있다.
- 구성 요소들의 목록을 'AndroidManifest.xml' 파일에 기록해야 한다.
(
어떤 구성 요소들을 선언했는지, 그들의
기능과 요구 사항은 무엇인지를 기록 하는 파일이다.)
=================================================================================
[1) Activity]
- 애플리케이션의 하나의 스크린 또는 화면을 일컫는 말.
특징 : 1)
윈도우처럼 여러개의 창처럼 사용 할수 있다.
2)Activity는 안드로이드에서 제공하는
Activity 클래스로부터 상속받아 구현해야 한다.
3)사용자에게
Veiw와
이벤트(event)를
처리 할수 있는 인터페이스를 제공한다.
4)두개의
Activity 실행 되면 이전 화면이 멈추면서 히스토리 스택(history stack)에 저장되어 이전 화면으로 돌아 갈수 있다.
5)사용자와 상호작용을 하며,
setContentView()라는 메소드를 통해 UI를 화면에 표시.
※Activity는 두개의 메소드를 구현해야 한다.
1)onCreate(Bundle)
-Activity 초기화.
-findViewById(int) : 파라미터는 UI를 정의한 레이아웃 리소스
-setContentView(int) : 메소드의 파라미터로 전달되어 화면에 표시
2)onPause()
-사용자가 Activity를 떠날 때 다루어야 하는 메소드(저장과정이 진행됨).
[Activity 생명주기]
Oncreate()
:Activity가 생성 될때 처음으로 호출되는 메소드(리소스 초기화).
OnStart()
:Activity가 사용자에게 보여줄 준비가 되었을 때 호출된다.
OnResume()
:Activity 스택의 맨 위에 있어서 Activity가 사용자에게 보여지고 사용자의 입력을 처리 할 수 있을 때 호출된다.
OnPause()
:포커스를 잃고 이전의 Activity가 Resume되기 전에 호출된다.
데이터의 저장, 애니메이션의 중지, CPU를 소비하는 작업 중단과 같은 일들을 수행한다.
Onstop()
:더이상 Activity가 스택의 최상위에 있지 않으므로 사용자에게 보여지지 않는다.
OnDestroy()
:OnDstroy()메소드가 호출되면 시스템에 Activity가 존재하지 않는다.
흐름 예.
Activity Start -> OnCreate() -> OnStart() -> OnResume() -> Activity Running -> OnPause() -> OnStop() -> OnDestroy() -> Activity is Shut down |
OnPause() -> OnResume() |
OnPause() -> process is Killed -> Oncreate() |
OnStop() -> OnRestart() -> OnStart() |
OnStop() -> process is Killed -> OnCreate() |
====================================================================================
[2) Intent]
-Activity 간의 데이터 전송을 위한 방법으로 화면과 화면 사이를 이동할때 사용 하는 클래스이다.
예)
:A Activty 에서 B Activity로 화면이 전환 될때 Intent 클래스를 사용 법
Intent i = new Intent(this, NoteEdit.class);
startActivityForResult(i, ACTIVITY_CREATE);
호출하는 쪽이 this,
호출당하는 쪽이 NoteEdit.calss
startActivityForResult()메소드를 통해 이루어진다.
(=startActivity() 사용 해도 용이)
호출하는 쪽 데이터를 Intent에 저장해서 보낼수 있고, 호출 당하는 쪽에서는 전달받은 Intent로부터 데이터를 추출할수 있다.