본문 바로가기
Android

#1 안드로이드 4대 컴포넌트

by Taron 2023. 4. 29.

안드로이드 4대 컴포넌트는 Activity, Service, ContetntProvider, BroadcaseReceiver 4가지로 구성되어있습니다.

이 구성요소들이 상호 통신을 하기 위해 Intent를 사용해 상호작용을 하게 됩니다.
각각의 구성요소들에 대해 설명해드리겠습니다.

 

액티비티 (Activity)


Activity는 UI 화면을 담당하는 구성요소로 사용자와 상호작용을 담당하는 인터페이스라고 할 수 있습니다.

 그리고 안드로이드 어플리케이션은 반드시 하나 이상의 Activity를 포함하고 있으며 개발자는 Activity 생명주기 관련 메서드를 재정의하여 원하는 기능을 구현할 수 있습니다.

특징

  • 2개 이상의 Activiry를 동시에 Display할 수 없습니다.
  • 1개 이상의 View 또는 ViewGroup을 포함합니다.
  • 어플리케이션에 하나 이상의 Activity가 있어야 합니다.
  • Intent를 통해 다른 어플리케이션의 액티비티를 호출할 수 있습니다.

 

서비스 (Service)


사용자와 직접적으로 상호작용하는 요소는 아닙니다.

Service는 백그라운드(Background)에서 실행되는 프로세스를 의미합니다 즉 화면이 존재하지 않습니다.

예를 들어 사용자가 백그라운드에서 음악을 재생하거나, 다른 작업을 하면서 파일을 다운로드할때 서비스를 주로 사용합니다.

특징

  • UI가 없으며 백그라운드에서 수행됩니다.
  • 어플리케이션이 종료되어도 시작된 서비스는 백그라운드에서 계속 동작합니다.

 

방송 수신자 (Broadcast Receiver)


방송 수신자란 안드로이드에서 다양한 이벤트와 정보를 받아 반응하는 구성요소입니다. 

예를 들자면 배터리가 부족하거나 사진을 캡쳐했다고 알리는 것이 있습니다.

Broadcast Receiver는 BroadcaseReceiver의 하위 클래스로 구현되며 각 브로드캐스트는 Intent 객채로 전달 됩니다.

특징

  • 거의 대부분 UI를 가지지 않습니다.
  • 디바이스의 특수한 상황에 대응하기 위해 사용됩니다.

 

콘텐츠 제공자 (Content Provider)


콘텐츠 제공자는 데이터를 관리하고 다른 어플리케이션의 데이터를 제공하는데 사용되는 구성요소 입니다.

내 애플리케이션에서 새로운 콘텐츠 제공업체를 생성하여 다른 애플리케이션과 데이터를 공유하고자 할 수 있습니다. 

 

특징

  • 생명주기가 존재하지 않습니다.
  • 다른 어플리케이션이 허용한다면 데이터를 번경할 수 있습니다.
  • Sqlite,파일 입출력,Web 등을 이용할 때 사용합니다.

 

 

 

긴 글 읽어주셔서 감사합니다.

'Android' 카테고리의 다른 글

안드로이드 Compose란 + 예제  (0) 2024.03.05
안드로이드 DataBinding 사용 예제  (0) 2024.03.04
안드로이드 ROOM 사용법 + 예제  (0) 2024.03.03
Hilt 란?  (0) 2024.02.06
WebRTC 란?  (2) 2023.08.08

댓글