안드로이드 4대 컴포넌트에는
Activity, Service, Broadcast Reciver, Content Provider 가 있다.
Activity
Activity는 사용자 인터페이스 화면을 관리하는 컴포넌트이다.
액티비티 역할을 하기 위해서는 Activity 클래스를 상속해야 하며,
액티비티가 기본적으로 가지고 있는 생명주기 메서드를 재정의해서 원하는 기능을 구현해야 한다.
쉽게 말하면 사용자가 보고있는 모바일의 화면을 구성하고 관리하는 것이 Activity이다.
Service
Service는 특정 액티비티와 상관없이 백그라운드에서 실행되는 컴포넌트이다.
그래서 화면을 구성하는 레이아웃을 작성할 필요가 없다. 이러한 이유로, 지속적으로 장시간 동작해야 하는 기능이 있다면 서비스에 구현해야 한다. 서비스로 동작하게 하고 싶다면 Service 클래스를 상속한 후, 생명주기 메서드를 재정의해서 원하는 기능을 구현하면 된다.
모바일 기기의 화면이 꺼져도 듣고 있던 노래가 멈추지 않고 계속해서 흘러나오게 되는 것이 Service를 이용한 기능이다.
Broadcast Reciver
Broadcast Receiver는 특정 브로드캐스트에 반응하는 컴포넌트이며, 사용자 인터페이스를 가지고 있지 않다. 브로드캐스트에는 시간대 변경, 배터리 부족, 언어 설정 변경 등이 있으며, 이러한 브로드캐스트를 받으면 브로드캐스트 리시버는 이를 처리하고 다시 대기 모드로 진입한다. 또한 10초 이내의 작업만을 보증하므로 오랜 시간 동작해야 한다면 별도의 스레드로 처리하거나 서비스에 구현해야 한다.
자바 클래스가 브로드캐스트 리시버로 동작하게 하고 싶다면 BroadcastReceiver 클래스를 상속한 다음에 onReceive() 메서드에 원하는 기능을 작성하면 된다.
모바일 기기의 상태 변화나 다른 앱이 송신하는 Receiver를 Broadcast Receiver가 감지하여 특정한 행동을 할 수가 있다.
예를 들어 배터리가 15% 이하가 되었을 때 배터리가 부족하다는 팝업을 띄우는 것
Content Provider
콘텐트콘텐츠 프로바이더(Content Provider)는 애플리케이션 간의 데이터 공유를 위해 표준화된 인터페이스를 제공하는 컴포넌트이다. 콘텐츠 프로바이더가 제공하는 실제 데이터는 파일 시스템이나 데이터베이스 등에 있을 수 있다.
앱으로 모바일기기에 저장된 연락처 주소록을 불러오거나 사진을 불러오는 것
'안드로이드' 카테고리의 다른 글
[Android] Android Studio Kotlin DSL 적용중 빨간줄 (0) | 2023.06.27 |
---|---|
[Android] Activity에 대해서... ( feat. Android공식 문서 ) (1) | 2023.04.28 |
[Android] Room M1칩 MacBook 빌드 에러 삽질 of 삽질 (2) | 2022.06.23 |
[Android] Google Health Connect (5) | 2022.05.31 |
[Android] 프레젠테이션 (Presentation)찍먹하기. (1) | 2021.11.25 |