Android Component 종류
안드로이드는에는 액티비티, 서비스, 브로드 캐스터, 콘텐츠 제공자 총 4가지의 컴포넌트가 있고, 각 컴포넌트는 인텐트를 통해 서로 상호자굥한다.
인텐트(Intent)
- 구성 요소 중 콘텐트 제공자(Content Provider)를 제외한 액티비티, 서비스, 브로드 캐스터는 인텐트라는 비동기식 메시지로 활성화
- 런타임에서 각 구성 요소를 바인딩
- 서로 독립적으로 동작하는 4대 컴포넌트 간 상호 통신을 위한 장치
- 컴포넌트에 액션이나 데이터를 전달하고 이 것을 통해 다른 앱의 컴포넌트를 활성화 시킬 수 있음
액티비티(Activity)
: 사용자 화면을 관리하는 구성요소
- 사용자가 앱과 상호 작용하는 하나의 화면으로 사용자에게 나타나는 화면을 의미
- 반드시 하나 이상의 액티비티를 포함하고 있어야 함
- 컴포넌트는 인텐트를 통해 다른 액티비티를 호출할 수 있음
- 하나 이상의 View or View Group을 포함해야함
서비스(Service)
: 백그라운드에서 어떤 작업을 처리하기위해 사용
- 사용자와 직접 상호작용하진 않음
- 애플리케이션을 사용하면서 파인을 다운로드 할 때 사용
- 네트워크와 연동 가능
- 애플리케이션이 종료되어도 이미 시작된 서비스는 계속 동작
브로드 캐스터(BroadCast Receiver)
: OS로부터 발생하는 각종 이벤트와 정보를 받아 핸들링
- 상태 표시줄 알림을 생성해 사용자에게 이벤트가 발생했다 알림
- 시간 변경, 언어 변경, 배터리 부족 알림, 충전 알림 등 알림을 수신받으면 브로드캐스트 리시버가 이를 처리하고 다시 대기상태로 진입함
콘텐츠 제공자(Content Provider)
: 앱 간 데이터를 서로 공유할 수 있도록 도와줌
- 앱 내에서 Content Provider를 구현하면, 다른 앱에서는 Content Resolver를 통해 접근
- 작은 데이터들은 인텐트로 공유할 수 있지만, 음악이나 사진 파일처럼 용량이 큰 데이터들은 Content Provider를 통해 공유