안드로이드 어플리케이션은 컴포넌트로 구성되어있다.
안드로이드의 4대 컴포넌트
1. 액티비티(Activity)
2. 서비스(Service)
3. 방송 수신자 (BroadCast Receiver)
4. 콘텐트 제공자 (Content Provider)
- 각 컴포넌트들은 하나의 독립적인 형태로 존재한다.
- 각 컴포넌트들은 고유의 기능을 수행한다.
- 각 컴포넌트들은 인텐트를 통해 서로 상호작용한다.
1. 액티비티(Activity)
액티비티는 사용자와 상호작용을 담당하는 인터페이스이다. 즉 UI 화면을 담당하는 컴포넌트이다.
- 어플리케이션은 반드시 하나 이상의 액티비티를 가지고 있어야 한다.
- 두개의 액티비티를 동시에 보여줄 수 없다.
- 다른 어플리케이션의 액티비티에 접근할 수 있다.
- 액티비티 내에서 프래그먼트를 추가하여 화면을 분할시킬 수 있다.
2. 서비스(Service)
서비스는 사용자와 직접적으로 상호작용하는것이 아닌 백그라운드에서 실행되는 컴포넌트이다. 보통 오랜 시간이 걸리는 작업, 원격 프로세스를 위한 작업, 계속 실행을 해야하는 작업을 할 때 사용된다.
- UI를 가지지 않고 백그라운드에서 수행된다.
- 한번 시작이 된 서비스는 어플리케이션이 종료되어도 백그라운드에서 계속 실행된다.
- 네트워크를 사용하여 데이터를 가져온다.
- 모든 서비스는 Service 클래스를 상속받아 사용한다.
3. 방송 수신자 (BroadCast Receiver)
방송수신자는 안드로이드 디바이스에서 발생하는 이벤트 및 정보를 받아 반응하는 컴포넌트이다.
네트워크 끊김, 문자 수신, 배터리 부족 알림 등 과 같은 정보를 받아 처리를 해야 할 필요가 있을때 동작한다.
- 디바이스에서 발생하는 일 중 어플리케이션이 알아야 하는 상황이 발생하면 알려준다.
- 거의 대부분 UI를 가지지 않는다.
- BroadcastReceiver(수신기) 를 통해 디바이스의 상황을 감지하고 적절한 작업을 수행한다.
4. 콘텐트 제공자 (Content Provider)
콘텐트 제공자는 데이터를 관리하고 다른 어플리케이션의 데이터를 제공해주는 컴포넌트이다.
- 파일 입출력 / SQLite DB/ Web등을 통하여 데이터를 관리한다.
- 안드로이드는 기본적으로 주소록, 이미지, 오디오 등 주요 데이터에 대한 내장 Content Provider를 제공한다.
- 콘텐트 제공자를 통하여 다른 어플리케이션의 데이터도 변경할 수 있다.
- 데이터의 읽기(READ), 쓰기(WRITE)에 대한 퍼미션이 있어야 데이터 접근이 가능하다.
'Android' 카테고리의 다른 글
FloatingActionButton 구현 (0) | 2021.03.13 |
---|---|
당겨서 새로고침 기능 추가하기 (0) | 2021.01.23 |
Activity 생명주기 (0) | 2021.01.21 |
Toolbar 검색버튼 만들기 (0) | 2021.01.15 |
Retrofit2 + Okhttp3 (0) | 2021.01.12 |