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를 호출하면 됩니다.