Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- Process Control Block
- 임계 구역
- The Banker's Algorithm
- 프로세스
- 교착 상태
- 프로세스 상태 전이도
- Activity
- 동기 비동기
- 모니터(Monitor)
- 경량 프로세스
- 유저 모드의 동기화
- 유저 모드
- 스레드 동기화
- The DIning Philosopher Problem
- Stack영역
- Reentrant
- 문맥 교환
- 커널 모드
- Light Weight Process
- 뮤텍스(Mutex)
- Multi-level Queue
- Heap영역
- 블로킹 논블로킹
- 은행원 알고리즘
- 커널 모드의 동기화
- 프로세스 제어 블록
- 인터락 함수
- Non-Preemptive
- 스레드
- 방금 그 곡
Archives
Blog For Me
[안드로이드] 4대 컴포넌트 본문
컴포넌트 (Component) ?
컴포넌트는 구성 요소라는 뜻을 지니고 있다. 다시 말해서, 안드로이드 4대 컴포넌트는 안드로이드 앱을 구성하는데 필요한 4개의 요소를 의미한다. 안드로이드 4대 컴포넌트는 액티비티(Activity), 서비스(Service), 방송 수신자(BroadCast Receiver), 콘텐츠 제공자(Content Provider) 가 있다. 각 컴포넌트는 독립적인 형태로 존재하며, 고유한 기능을 수행하고 인텐트(Intent) 를 통해 상호작용한다.
1. 액티비티 (Activity)
- 액티비티는 사용자가 Application과 상호작용하며 실제로 사용자에게 보이는 화면을 의미한다.
- Application에 화면이 하나도 없으면, 사용자와 상호작용 할 수 없으므로 적어도 하나의 액티비티는 반드시 필요하다.
- 다른 Application의 액티비티 역시 인텐트를 통해 불러올 수 있다.
- 하나 이상의 View 또는 ViewGroup을 가지고 있어야 한다. 여기서 View는 화면에서 눈에 보이는 것들, 예를 들어 텍스트, 버튼, 이미지 등등을 의미하며, ViewGroup은 레이아웃을 의미한다고 볼 수 있다.
2. 서비스 (Service)
- 서비스는 액티비티와 반대로 직접적으로 상호작용하지 않는 요소이다.
- Background에서 어떠한 작업을 처리하기 위해 사용된다.
- Application이 종료되어도 Background에서 동작하는 컴포넌트이다.
- 음악 앱 같은 경우에, Background에서 계속 음악을 재생시키기 때문에 이 기능은 서비스에 해당된다. 그래서 실제로 음악 앱을 꺼놔도(음악 앱을 종료해도) 음악은 별 이상없이 계속 재생되는 것을 확인할 수 있다.
- 타이머 앱 같은 경우에도 마찬가지로, 실제로 타이머를 실행시킨 후 앱을 꺼도 타이머는 계속 작동되므로 이 역시 서비스 기능이다.
3. 방송 수신자(BroadCast Receiver)
- 안드로이드 OS로부터 발생하는 이벤트 정보를 받고 대응하는 컴포넌트이다.
- 대부분 UI를 가지지 않으며, 수신기를 통해 디바이스 상황을 감시하다가 이벤트가 발생하면 해당 이벤트에 맞게 정의한 작업들을 수행하는 역할을 한다. 다시 말해, 디바이스에서 발생하는 중요한 이벤트를 Application에 알려준다.
- 대표적인 예로 배터리 부족, 문자 수신, 전화 수신과 같은 정보를 받아서 이를 처리할 때 동작한다.
4. 콘텐츠 제공자(Content Provider)
- 콘텐츠 제공자는 데이터를 관리하고 다른 Application의 데이터를 제공하는데 사용되는 컴포넌트이다.
- 데이터를 저장하고, 불러와서 사용할 수 있는 시스템들을 의미한다. 일례로 DB, 파일 시스템 등이 있다.
- 파일 시스템이나 SQLiteDB, 기타 저장소 위치에서 앱이 접근 가능한 저장소의 데이터를 읽거나 쓸 수 있다.
- 용량이 큰 데이터를 공유하는데 적합하다.
- 대표적인 사례로 인스타그램 앱에서 갤러리 앱에 접근하여 사진 파일을 가져오거나 지도 앱에서 자신의 현재 위치를 가져오는 등이 대표적 사례라고 볼 수 있다.
- 이러한 콘텐츠 제공자를 이용하기 위해서는 권한을 획득해야 한다. 이러한 정보들은 민감한 정보들이기 때문에 보통 맨 처음에 앱을 설치하면 바로 권한 요청이 뜨는데, 보안적인 이슈를 고려해서이다.
참고자료
https://angangmoddi.tistory.com/240
안드로이드 4대 컴포넌트(구성요소)
OKKY를 눈팅하다가 앱 관련 회사 면접 시 안드로이드 4대 컴포넌트에 대한 질문이 나왔다는 글을 보고 해당 내용에 대해서 공부할 겸 글로 써보도록 하려고 한다. 안드로이드는 4개의 컴포넌트(구
angangmoddi.tistory.com
'안드로이드 > 안드로이드 이론' 카테고리의 다른 글
[안드로이드] Activity와 Fragment (0) | 2021.12.20 |
---|
Comments