누구나 다 알고, 누구나 다 정리하는 안드로이드 4대 컴포넌트를 정리하겠다.
주말이니까 호다닥 하고 게임하러 가야겠다.
1. 안드로이드 4대 컴포넌트 구성 요소
안드로이드에는 4개의 주요 컴포넌트가 있다.
- Activity(액티비티)
- Broadcast Receiver(브로드캐스트 리시버)
- Content Provider(콘텐트 프로바이더)
- Service(서비스)
위 4가지 이며, 각자의 4대 구성요소 각각이 하나의 독립된 형태로 존재한다. 그리고 각 요소들은 모듀 고유한 기능을 수행하고, Intent(인텐트)를 통하여 상호작용한다. 그럼 하나하나 간단하게 설명해보겠다.
1. Activity(액티비티)
액티비티는 사용자에게 보여지는 화면이라고 생각하면 된다. 화면을 통하여 사용자에게 특정 동착을 이끌어 내며 상호작용을 하는 역할 및 아래와 같은 특징을 갖는다.
- 하나의 화면에는 액티비티는 1개만 띄울 수 있다.
- 액티비티에는 View나 ViewGroup이 1개 이상 포함되어 있다.
- 액티비티에서 다른 액티비티로 전환할 시 인텐트를 통하여 전환한다.
- 어플리케이션은 무조건 한개 이상의 액티비티를 포함해야 한다.
2. BroadCast Receiver(브로드캐스트 리시버)
브로드캐스트 리시버는 말 그대로 방송을 수신하는 기능을 한다. 그리고 그 방송은 바로 안드로이드 OS가 앱에게 보내는 방송이다. 조금 더 전문적인 용어로 표현하자면, 브로드캐스트 리시버는 안드로이드 OS에서 발생하는 특정 이벤트 혹은 정보 등을 가져와 앱 내에서 처리할 수 있게 해주는 역할을 한다.
- 핸드폰 전원 On/Off 등과 같은 특정 동작에 대한 이벤트를 수신한다.
3. Content Provider(콘텐트 프로바이더)
콘텐트 프로바이더는 좀더 한국 스타일로 발음하면 콘텐츠 프로바이더다. 이것은 안드로이드에서 파일 시스템, SQLite Database 등 앱이 접근하여 데이터를 저장하거나 불러올 수 있는 저장소를 관리해 주는 것이다.
- SQLite, Web 등과 같은 파일 입출력을 통하여 데이터를 관리한다.
- 인텐트를 통하여 작은 규모의 데이터 공유가 가능하다.
- 다만 큰 용량의 데이터의 경우에는 콘텐트 프로바이더를 통하여 공유하는 것이 적절하다.
- 앱 Manifest에 READ, WRITE Permission을 추가해야 동작이 가능하다.
4. Service(서비스)
서비스는 백엔드이다. 말 그대로 사용자에게 보여지는 것들이 아닌, 백그라운드에서 동작하는 요소이다. 그렇다고 일반적인 쓰레드랑 같다고 생각하면 오산이다. 엄밀히 말하면 서비스는 메인 스레드에서 동작하며, 앱이 종료되어도 이미 시작한 동작은 끝마치고 종료가 된다.
- 앱이 종료되어도 이미 시작된 절차는 백그라운드에서 계속 동작하게 된다.
- 메인스레드 위에서 동작한다.
'안드로이드 > 알아두기' 카테고리의 다른 글
[안드로이드] Handler와 Looper 에 대하여 (0) | 2021.12.05 |
---|---|
[안드로이드] MVP와 MVVM 패턴에 대하여 (0) | 2021.12.05 |
[안드로이드] context에 대하여 (0) | 2021.12.03 |
[안드로이드] 안드로이드 실행환경에 대한 간단한 설명 (0) | 2021.11.29 |
[안드로이드] 객체 지향 프로그래밍(OOP)에 대해 알아보자 (0) | 2021.03.12 |