[Android] 4대 컴포넌트

wooki·2022년 7월 19일

Android

목록 보기
2/3

4대 컴포넌트는 안드로이드 앱의 필수 구성 요소이다. 각각의 컴포넌트는 시스템이나 사용자가 앱에 들어갈 수 있는 진입점(entry point)역할을 한다. 4대 컴포넌트는 아래와 같다.

  1. Activity
  2. Service
  3. Broadcast Receiver
  4. Content Provider

각 컴포넌트는 자신만의 용도가 있으며 생성과 소멸을 담당하는 고유한 수명 주기를 갖는다.

Activity

액티비티는 사용자와 상호작용이 가능한 진입점이 있는 컴포넌트이며 사용자에게 단일 화면을 제공한다. 액티비티는 여러개가 있을 수 있으며 각각 모두 진입점이 있으므로 요청에 따라 다른 화면을 보여줄 수 있다. 카카오톡을 예로 들면 메시지 알림을 클릭했을 때 메인 화면이 아닌 채팅창으로 바로 이동되는 것 등이 있다.

Service

서비스는 백그라운드에서 오래 걸리거나 계속 실행되어야 하는 작업, 또는 원격 프로세스에 대한 작업을 수행할 수 있는 컴포넌트이다. 서비스는 UI를 제공하지 않기 때문에 다른 앱을 실행하면서 음악을 듣거나 사용자와 상호작용하지 않는 네트워크 통신등을 위해 사용될 수 있다.

Broadcast Receiver

브로드캐스트 리시버는 사용자와 상호 작용 없이 시스템이나 다른 앱이 전달하는 브로드캐스트 메시지를 수신할 수 있는 컴포넌트이다. 이 컴포넌트는 앱이 실행되어있지 않더라도 정의된 브로드캐스트 메시지가 오면 작업을 수행할 수 있다. 대체로 시스템이 전달하는 메시지에는 화면 꺼짐/켜짐, 배터리 부족 등이 있으며, 다른 앱이 전달하는 메시지로는 다른 앱이 특정 파일의 다운로드가 완료됐을 때 내 앱에 메시지를 전달해 알려줄 수도 있다.

Content Provider

컨텐트 프로바이더는 앱 간에 데이터를 공유할 때 사용할 수 있는 컴포넌트이다. 앱 데이터나 데이터베이스 등을 다른 앱에 제공할 수도 있으며 수정 및 삭제도 가능하도록 구현할 수 있다. 컨텐트 프로바이더에 접근하기 위해서는 Content Resolver를 이용해 URI 전달함으로써 가능하다.

액티비티, 서비스, 브로드캐스트 리시버는 intent에 의해 실행되는 컴포넌트이며 컨텐트 프로바이더는 ContentResolver에 의해 사용되는 컴포넌트이다.

공식문서

0개의 댓글