구성요소
Activity, Service, BroadCast Receiver , Content Provider
각각 독립적인 형태로 존재하고 , 교유한 기능을 인텐트를 통해 상호작용 합니다
🍎 Activity
사용자가 Application 과 상호작용하며 실제로 사용자에게 보이는 화면
- 생명주기(Life Cycle) 관련 메서드들을 재정의하여 원하는 기능들을 구현할 수 있습니다.
- 하나 이상의 View 또는 ViewGroup을 가지고 있어야 합니다
🍎 Service
주로 백그라운드에서 앱을 계속 실행하기 위한 목적입니다
- 시작된 서비스는 작업이 완료될 때까지 해당 서비스를 계속 실행 합니다
- 인터페이스(UI, 화면)에 방해받지 않고 눈에 보이지 않는 곳에서 작업을 처리합니다
🍎 BroadCast Receiver
안드로이드 OS로부터 발생하는 각종 이벤트와 정보를 받아와 핸들링 하는 컴포넌트
- 대부분 UI 를 가지고 있지 않으면서 , 디바이스 특수한 상황에 대처하기 위해 사용됩니다
- 전원 충전 , 비행기 모드 , 애플케이션 설치 등등
🍎 Content Provider
데이터를 관리하고 다른 애플리케이션의 데이터를 제공하는 데 사용되는 컴포넌트입니다.
- SQLite DB / Web / 파일 입출력 등을 통해서 데이터를 관리합니다.
- 갤러리 앱 -> 파일 가져오기 / 현재 위치 가져오기
- 사용하기 위해서는 권한획득 해야한다 -> 보안적인 이슈를 고려해야하기 때문
🍎 Intent
플리케이션 컴포넌트(구성요소) 간에 작업 수행을 위한 정보를 전달하는 역할을 하며 통신수단
- 서로 독립적으로 동작하는 4가지 컴포넌트들 간의 상호 통신을 위한 장치
- 컴포넌트에 액션(Action), 데이터(Data) 등을 전달
- 인텐트를 통하여 다른 애플리케이션의 컴포넌트를 활성화