[Android] 4대 컴포넌트

SangGun Park·2021년 10월 19일
1

Android

목록 보기
3/11
post-thumbnail

어렸을 때 포켓몬을 좋아하셨던 분들이라면 한번쯤은 들어보셨던 이름이 있죠.
바로 사천왕😲
포켓몬에 사천왕이 있다면 안드로이드에는 4대 컴포넌트가 있습니다.
4대 컴포넌트들은 다음과 같은 특징이 있습니다.

  • 각 컴포넌트들은 하나의 독립적인 형태로 존재
  • 각 컴포넌트들은 고유의 기능을 수행
  • 각 컴포넌트들은 인텐트를 통해 서로 상호작용

특징을 알았으니 어떤 컴포넌트들이 있는지 알아보면

  • Activity(액티비티)
  • Service(서비스)
  • Broadcast Receiver(방송 수신자)
  • Content provider(컨텐츠 제공자)

네 가지의 컴포넌트들이 존재합니다.
이제 이 각각의 컴포넌트들이 안드로이드 내부에서 어떤 역할을 수행하는지 알아보겠습니다.


1. Activity(액티비티)

  • 먼저 Activity(액티비티)입니다.
    액티비티는 사용자가 보는 UI화면 그 자체를 말하는데 Activity클래스를 상속받아 사용합니다.
    또한 액티비티는 사용하려면 안드로이드 Manifest에 반드시 선언해야 합니다.

2. Service(서비스)

  • Service(서비스)는 사용자가 볼 순 없지만 Background에서 열심히 일하는 컴포넌트이며 Service클래스를 상속받아 사용합니다.
  • 서비스의 예를 들면 우리가 멜론이나 지니등 뮤직 플레이어를 사용할 때 🎶노래를 들으며 카톡을 할 수 있습니다. 이때 뮤직 플레이어는 어디서 동작을 할까요? 🤔
    바로 Background입니다. 여기서 뮤직 플레이어는 일종의 서비스라고 볼 수 있겠죠.

3. Broadcast Receiver(방송 수신자)

  • Broadcast Receiver(방송 수신자)BroadcastReceiver클래스를 상속받아 사용하며 시스템이나 앱등의 이벤트를 수신하여 원하는 작업을 처리하도록 도와주는 컴포넌트 입니다.
  • 방송 수신자를 예로 들면 우리가 스마트폰을 사용할 때 울리는 문자 메세지, 배터리 부족 알람 등등 모두 방송 수신자를 통해 사용자에게 보여주는 것입니다.

4. Content provider(컨텐츠 제공자)

  • 마지막으로 Content Provider(컨텐츠 제공자)ContentProvider클래스를 상속받아 사용하며 어플리케이션 사이의 데이터를 공유하도록 도와주는 컴포넌트입니다.
  • 기본적인 연락처 앱에서 연락처 정보를 가져올 수 있도록 도와줍니다.

4대 컴포넌트는 알았는데 이 컴포넌트간의 통신은 어떻게 할까..?🤔

5. Intent

컴포넌트간의 통신은 Intent를 사용합니다.
Intent는 두 가지 사용방법이 있는데

  • 명시적 Intent: 보통 하나의 액티비티에서 다른 액티비티로 넘어갈 때 많이 쓰이는 방식
  • 암시적 Intent: Action을 통해 전화앱으로 통화나 웹 브라우저 호출등을 할 때 쓰이는 방식

위와 같은 Intent를 사용하여 컴포넌트끼리 통신하여 데이터를 주고 받을 수 있습니다.


Reference

Android 4대 컴포넌트
Android 인텐트

profile
배우고 제때 익히니 즐겁지 아니한가

0개의 댓글