[java] 안드로이드 앱 구조 및 생명주기

안드로이드 앱은 다양한 구성 요소로 구성되어 있고, 각 구성 요소는 앱의 생명주기에 따라 동작합니다. 이번 글에서는 안드로이드 앱의 구조와 생명주기에 대해 알아보겠습니다.

앱 구조

안드로이드 앱은 일반적으로 다음과 같은 구성 요소로 구성됩니다:

  1. 액티비티 (Activity): 사용자 인터페이스(UI)를 제공하는 화면입니다. 앱은 하나 이상의 액티비티로 구성될 수 있으며, 각 액티비티는 개별적으로 실행될 수 있습니다.

  2. 서비스 (Service): 백그라운드에서 실행되는 컴포넌트입니다. 앱이 포그라운드에서 실행 중일 때도 서비스는 계속해서 동작할 수 있습니다.

  3. 브로드캐스트 리시버 (Broadcast Receiver): 시스템 또는 앱에서 발생하는 다양한 이벤트를 수신하는 역할을 합니다. 예를 들어, 배터리 부족 상태, 통화 수신 등을 처리할 수 있습니다.

  4. 콘텐트 제공자 (Content Provider): 데이터를 저장하고, 다른 앱들과 데이터를 공유할 수 있도록 제공하는 역할을 합니다. 앱 내부뿐만 아니라 외부 앱에서도 데이터에 접근할 수 있습니다.

각 구성 요소는 독립적으로 작동할 수 있지만, 서로 상호작용하여 완전한 앱을 구성합니다.

앱 생명주기

안드로이드 앱은 다양한 상태를 가지며, 이에 따라 생명주기 메서드를 실행합니다. 여기서는 가장 일반적인 앱 생명주기를 살펴보겠습니다:

  1. onCreate(): 앱이 시작될 때 호출되는 메서드입니다. 액티비티와 서비스에서 사용자 인터페이스를 초기화하고 데이터를 로드하는 등의 초기화 작업을 수행합니다.

  2. onStart(): 액티비티가 사용자에게 표시되기 직전에 호출되는 메서드입니다. 이후에 액티비티가 포그라운드로 나타나고 상호작용이 가능해집니다.

  3. onResume(): 액티비티가 사용자와 상호작용하기 시작할 때 호출되는 메서드입니다. 이후에 액티비티는 화면 상에서 가장 앞으로 이동하게 됩니다.

  4. onPause(): 액티비티가 포커스를 잃을 때 호출되는 메서드입니다. 다른 액티비티가 나타날 때나 전화 등의 인터럽트가 발생할 때 호출됩니다.

  5. onStop(): 액티비티가 보이지 않게 될 때 호출되는 메서드입니다. 다른 액티비티 바로 뒤에 위치한 상태입니다.

  6. onDestroy(): 액티비티나 서비스가 완전히 종료될 때 호출되는 메서드입니다. 자원 해제 및 정리 작업을 수행합니다.

앱은 위의 생명주기 메서드를 순환하면서 실행되며, 사용자의 상호작용에 따라 상태가 변화합니다.

결론

안드로이드 앱은 다양한 구성 요소와 생명주기를 가집니다. 앱 구조를 이해하고 각 구성 요소의 역할과 생명주기를 파악하는 것은 안드로이드 앱 개발을 위한 기본적인 지식입니다.

더 자세한 내용은 Android Developer 사이트를 참조하시기 바랍니다.