본문 바로가기
개발/Android

[Android] 안드로이드 4대 컴포넌트(Component)

by 1인용 놀이터 2025. 2. 28.
728x90
반응형

 

안드로이드 4대 컴포넌트(Component)

 

컴포넌트는 구성요소라고 불리며 안드로이드 4대 컴포넌트는 안드로이드 구성하는데 필요한 요소를 의미한다.

안드로이드 4대 컴포넌트에는 액티비티(Activity), 서비스(Service), 방송수신자(Broadcast Receiver), 콘텐츠 제공자(Content Provider)가 있다.

안드로이드 앱의 필수적인 구성요소로, 각각은 시스템이나 앱으로 들어올 수 있는 진입점이다.

 

컴포넌트 특징

  • 컴포넌트는 독립적인 형태로 존재한다.
  • 컴포넌트는 고유의 기능을 수행한다.
  • 각 검포넌트는 인텐트(Intent)를 통해서 서로 상호작용한다.

 

 

액티비티(Activity)

  • 생명주기(Life Cycle) 관련 메소드들을 재정의하여 원하는 기능 구현 가능
  • 인텐트(Intent)를 통해 다른 App의 액티비티 호출 가능
  • 2개 이상의 액티비티는 동시에 Display 불가
  • 1개 이상의 View 또는 ViewGroup(레이아웃)을 포함
  • 모든 App에는 반드시 하나 이상의 액티비티가 있어야 한다.
  • 액티비티 내 프래그먼트(Fragment) 추가로 화면 분할이 가능하다
  • 사용자와 상호작용을 하는 컴포넌트로 실제로 사용자에게 보이는 화면

서비스(Service)

  • 액티비티와 반대로 사용자와 직접 상호작용 하지 않는다.
  • Background에서 어떠한 작업을 처리하기 위해 사용. 즉 App이 종료되어 Background에서 동작하는 컴포넌트
  • 네트워크와 연동이 가능하다.
  • 액티비티와 함께 UI 쓰레드라고 불리는 동일한 애플리케이션 레드로 실행된다.
  • 음악 앱이나 타이머 앱에서 사용된다. 음악앱을 종료 해도 음악은 계속 재생 되며, 타이머 앱을 종료할 경우에도 타이머는 계속 진행 된다. 

방송 수신자(Broadcast Receiver)

  • 안드로이드 OS로부터 발생하는 이벤트와 정보를 받아 핸들링하는 컴포넌트
  • 안드로이드 디바이스의 특수한 상황에 대응하기 위해 사용된다.
  • 거의 대부분 UI를 가지지 않는다.
  • 수신기를 통해 디바이스 상황을 감시하다가 이벤트가 발생하면 해당 이벤트에 맞게 정의한 작업을 수행
  • 특정한 상황을 제외하고는 시스템에서 시작된다
  • 기기 부팅 완료 또는 네트워크 끊김, 배터리 부족 알림 같은 정보를 처리한다.

콘텐츠 제공자(Content Provider)

  • 데이터를 관리하고 다른 App의 데이터를 제공하는데 사용
  • 데이터를 저장하고 블러와서 사용할수 있는 시스템을 의미한다.
  • 용량이 큰 데이터를 공유하는데 적합하다.
  • SQLite DB/ Web/ 파일 입출력 등을 통해서 데이터를 관리
  •  콘텐츠 제공자를 이용하기 위해서는 권한이 필요하다.
  • 데이터베이스에서 흔히 사용되는 CRUD 원칙을 준수한다.
  • 사진 App에 접근하여 사진 파일을 가져오나 지도 앱에서 현재 위치를 가져오는 등에 사용된다.
728x90
반응형