Android 앱의 구성 요소
- Android 앱은 크게 4가지 구성 요소를 갖고 있습니다.
- Activity, Service, Broadcast Receiver, Contents Provider가 그 4가지입니다.
구성 요소
Activity
- Activity는 UI를 포함한 화면을 나타냅니다.
Service
- Service는 백그라운드 작업을 위한 요소입니다.
- UI는 제공하지 않지만 사용자가 다른 앱에 있는 동안 백그라운드에서 작업을 하기 위해 존재합니다.
- 예시로, 음악을 재생하거나 네트워크 작업을 통해 데이터를 가져오는 것이 있습니다.
Broadcast Receiver
- Broadcast Receiver는 이벤트를 앱에 전달하는 구성 요소입니다.
- 앱이 시스템의 브로드캐스트 알림에 응답할 수 있게 해줍니다.
- 대다수의 브로드캐스트는 시스템에서 발생합니다.
- 예시로, 배터리가 부족하거나 사진을 캡처했다고 알리는 것이 있습니다.
Contents Provider
- Contents Provider는 파일 시스템이나 SQLite 등의 영구 저장소에 앱 데이터를 관리합니다.
- 예시로, 연락처 데이터를 관리하는 것이 있습니다.
구성 요소 활성화
- 구성 요소 중 Activity, Service, Broadcast Receiver는 Intent라는 메시지로 활성화됩니다.
- Intent는 객체로 생성되고 명시적 혹은 암시적 Intent를 활성화할지 정의합니다.
- Contents Provider는 Intent로 활성화되지 않습니다.
- 대신, ContentResolver가 보낸 요청의 대상이 되면 활성화됩니다.
활성화 method
- 각 구성 요소를 활성화 하기 위해 개별적인 method가 존재합니다.
- Activity는 startActivity 또는 startActivityForResult에 Intent를 전달하면 됩니다.
- Service는 JobScheduler를 사용해 작업을 예약 할 수 있습니다.
- Broadcast Receiver는 sendBroadcast 등의 method에 Intent를 전달하면 됩니다.
- Contents Provider는 ContentResolver에서 query를 호출하면 됩니다.