안드로이드 기초 : 애플리케이션 구성요소 1. Activity

분류 Specialist/Android Basic 작성일 2010/01/17 23:07

저번 포스트에서 간단한 프로젝트를 만들어 구동시켜보았다.

에뮬레이터가 애플리케이션을 구동하는 과정을 설명하면서 구성요소(Activity 등)의 개념이 부족하여 설명이 매끄럽지가 못했다. 원래 설명을 못 하는 것도 이유 중의 하나이고..;;

 

이번 포스트에서는 애플리케이션을 구성하는 요소 중 Activity에 대해 알아보려한다.

애플리케이션을 구성요소는 크게 4가지가 있다. ( Components 라고도 하고, Block 이라고도 한다. )

  • Activity
  • Services
  • Broadcast receivers
  • Content providers

 

1. 개념

한 단어로 표현 하면 “화면”이다.

C/S 프로그램 환경에서의 Form을 생각하면 될 것이고, Web환경에서 Page를 생각하면 될 것이다.

Activity가 모여 애플리케이션을 구성한다.

예를 들면, 간단한 문자 메시지 보내는 애플리케이션을 생각해보자. 이 애플리케이션에서 필요한 화면을 나열하면 아래와 같을 것이다. ( 아주 기본적으로 )

  • 메시지 내용 입력하는 화면
  • 받는 사람 번호 입력하는 화면

위의 화면으로 구성되었을 이 애플리케이션은 2개의 Activity로 구성되었다고 말 할 수 있다.

 

2. 생명주기 – Lifecycle

Activity가 호출되어 생성되고 행동이 끝나 소멸될 때까지의 주기를 말하는데, 그 사이에 활성화되거나, 비활성화되거나, 유저에게 보여지거나, 숨겨지거나 하는 등의 상태변화가 있을 수 있다.

아래 그림에 Activity의 생명주기가 잘 나와 있다.

Activity 생명주기에는 7가지의 상태변화에 대응 할 수 있다.

  • onCreate() – 호출되어 생성되는 시점, 뷰를 생성하고 목록에 데이터를 바인딩하고, 이전 상태를 복원하는 등의 일 수 있다.
  • onRestart() - Activity가 정지되었다가 다시 시작될 때 호출 된다.
  • onStart() - Activity가 유저에게 보이기 시작할 시점.
  • onResume() – 유저와 상호작용을 시작하는 시점, 이 상태가 되면 Activity는 Activity Stack에서 최상위에 위치하게 된다.
  • onPause() 다른 Activity에 의해 화면에서 가려진 시점, 구체적으로 설명하면 다른 Activity가 onResume() 단계를 실행하기 전에 실행된다. 일반적으로 이 단계에서 사용된 데이터의 저장이나, CPU를 소모하는 작업의 중단, 애니메이션의 중지를 수행한다.
  • onStop() – onPause() 다음으로 이 시점으로 오게된다. 이 단계에서 다시 이 액티비티가 화면으로 나오게되면 onRestart()단계로 가게 된다. 만약 다른 어플에서 사용하는 메모리양이 많아 메모리가 부족하게 되면 안드로이드가 메모리를 회수하게 된다.
  • onDestroy() – 액티비티가 완전히 종료되기 전에 실행된다. 종료되기 전 데이터를 처리하거나 하는 경우에 이용한다. 종료되는 것은 사용자가 종료 할 는 경우도 있지만 안드로이드가 메모리 회수를 위해 액티비티를 제거하는 경우도 있다.

 

이번 포스트에서는 Activity에 대해 알아보았다.

역시 설명은 어려운 것 같다.

평소 개발이나 공부하는 스타일이 뭔가를 하면서 깨닫는 스타일이라 이론에는 약해 기초가 부족하다는 생각이 들기도 하지만 역시 백문이불여일견이고 백견이불여일행이라는 말 처럼 부딪혀 하다보면 위에 블라블라 써 놓은 글들이 이해가는 날 들이 올것이다.

 

혹 위에 적어놓은 글 중 잘못된 점이 있다면 알려주시기 바랍니다.

트랙백 주소 :: http://bbare.tk/76/trackback/

댓글을 남겨주세요

옵션
댓글 달기
Powerd by Textcube, Google, designed by criuce (이 블로그는 맑은고딕 글씨체에 최적화되어 있습니다.)
rss