안드로이드 4대 컴포넌트란
안드로이드 4대 컴포넌트
안드로이드 공부를 시작하면 “안드로이드 4대 컴포넌트” 라는 말을 많이 봤을 것이다.
4대 컴포넌트는 안드로이드의 대표적인 구성으로 “액티비티”, “브로드캐스트”, “서비스”, “콘텐트 제공자” 가 있다. 이 주요 컴포넌트들은 안드로이드에서 Intent
를 사용하여 상호작용 할 수 있다. (안드로이드 Intent)
인텐트를 이용하여 상호작용을 하는것 이외에도 다음과 같은 공통적인 특성을 가진다!
- 하나의 컴포넌트는 독립적인 형태이다.
- 컴포넌트들은 각각 고유의 기능을 수행한다.
1. 액티비티(Activity)
어떠한 어플리케이션을 사용할때 보여지는 화면들이 액티비티이다. 액티비티는 즉 사용자와 상호작용을 하는 컴포넌트 라고 할 수 있다.
사용자와 상호작용을 한다고 하였으므로 모든 안드로이드 어플은 최소 “하나의 액티비티”를 포함한다.
생명주기에서 알아봤듯이 (안드로이드 생명주기(Lifecycle)) 액티비티는 고유의 Lifecycle을 가지고 각 생명주기 함수를 이용하여 특정한 지점에 내가 원하는 동작을 수행을 할 수 있다.
- 액티비티는 사용자와 상호작용하는 컴포넌트이다.
- 모든 안드로이드 어플은 최소 하나의 액티비티를 포함한다.
- 고유의 Lifecycle이 존재한다.
- 두 개 이상의 액티비티를 사용자에게 보여줄 수 없다.
-> 어플을 사용하다보면 두 개 이상 상호작용하는것을 볼 수 있는데요??
안드로이드의 환경이 발전됨에 따라 한 화면에서 많은 정보를 보여줘야 하는 경우가 생김에 따라 프래그먼트(Fragment) 개념이 등장하게 되었다.(안드로이드 Fragment)
안드로이드 3.0(API Level 11)부터는 프래그먼트(Fragment)가 추가되었다. 프래그먼트(Fragment)는 4대 구성요소로 보지는 않지만 한 화면에서 화면 분활 및 동적인 사용자 UI를 동적으로 변경하는데 활용도가 높다.
2. 브로드캐스트(Broadcast Receiver)
브로드캐스트는 시스템(OS)의 다른 컴포넌트에 시스템 차원의 메시지를 전파하는 방법으로 사용될 수 있다. 이때 사용하는것이 브로드캐스트이다.
브로드캐스트(Broadcast)는 방송이라는 단어로 뜻에 맞게 생각해보면 쉽게 이해 할 수 있다. 스마트폰의 배터리가없을때나 문자메시지가 오게되면 안드로이드 OS에서 그에 맞는 정보는 Broadcast(방송) 을 해준다고 생각할 수 있다.
- Broadcast(방송) 을 통해 안드로이드 시스템의 여러 컴포넌트가 알 수 있다.
- 브로드캐스트는 안드로이드 시스템에 의해 사용된다.
3. 서비스(Service)
서비스는 사용자와 직접 상호작용을 하는 컴포넌트는 아니다.
안드로이드 Service는 앱이 백그라운드 작업 을 시작시켜 수행할 수 있게 설계되어있는 컴포넌트이다.(예를 들어, 인터넷 연결을 통해 파일을 다운로드하거나 사용자에게 음악을 스트리밍 서비스한다.)
서비스는 백그라운드에서 작업을 처리한다고 하였기 때문에 별도의 스레드에서 실행된다고 오해할수 있다. 하지만 서비스는 기본적으로 자신이 시작된 컴포넌트와 같은 메인 스레드 에서 실행이 되기 때문에 CPU를 많이 사용하는 작업을 서비스가 실행을 해야한다면 새로운 스레드에서 수행되어야 한다.
- 백그라운드 에서 작업을 하는 컴포넌트이다.
- 서비스는 시작된 컴포넌트와 같은 메인 스레드 에서 실행된다.
4. 콘텐트 제공자(Content provider)
콘텐츠 제공자는 애플리케이션이 자체적으로 저장된 데이터, 다른 앱이 저장한 데이터에 대한 액세스 권한을 관리 하도록 돕고 다른 앱과 데이터를 공유할 방법을 제공한다.
즉 콘텐트 제공자를 통하여 다른 어플리케이션이 앱 데이터를 안전하게 액세스를 하여 사용할 수 있다.
- 데이터의 안전한 액세스를 할 수 있게 제공.
댓글남기기