Android - 앱의 기초 개념인 4가지 컴포넌트와 인텐트 알아보기

안드로이드 앱을 개발하기 위해서는 기초적으로 알야 할 개념이 다섯 가지가 있습니다. 바로 액티비티(Activity), 서비스(Service), 브로드캐스트 리시버(Broardcast receiver), 콘텐츠 프로바이더(Content provider)라고 불리는 4개의 컴포넌트, 그리고 메시지를 칭하는 인텐트(Intent)입니다.

 

 아직은 공부하는 중이라 코드 수준으로 명확하게 설명하기는 어렵지만 개념적으로는 한번 정리해두는 게 좋을 것 같아 이렇게 정리해봅니다. 안드로이드 앱에서 이야기하는 컴포넌트라는 것은 우리가 집을 만든다고 하면 필요한 시멘트나 골조나 벽돌 같은 개념입니다. 제대로 사용할 줄 몰라도 어떻게든 사용은 가능하지만 조금 더 정확히 알고 사용방법을 분명히 안다면, 더 멋진 앱을 만들 수 있는 기초가 됩니다.

액티비티 - Activity 

 액티비티(Activity)는 사용자 화면을 가지고 하나의 작업을 담당하는 컴포넌트를 말합니다. 액티비티 컴포넌트는 사용자와 상호작용을 담당하는 컴포넌트로 가장 많이 사용하는 컴포넌트입니다. 하나의 앱은 여러 개의 액티비티를 정의하고 사용할 수 있습니다. 앱을 실행하고 보이는 하나의 화면은 하나의 액티비티라고 생각해도 무방합니다.

서비스 - Service

 서비스(Service)는 백그라운드에서 실행되는 컴포넌트를 말합니다. 액티비티와는 정반대로 사용자에게 보이지 않고 수행되는 기능을 정의하는 컴포넌트입니다. 주로  작업 시간이 오래 걸리거나 음악 앱처럼 화면을 띄우지 않아도 동작하는 기능을 구현할 때 사용됩니다.

브로드캐스트 리시버 - Broadcast receiver

 브로드캐스트 리시버(Broadcast receiver)는 이벤트를 처리하는 컴포넌트입니다. 여기서 말하는 이벤트는 시스템에서 발생하는 이벤트로 화면을 켜고 끄거나 배터리 상태가 변경되었을 때를 말합니다. 즉 브로드캐스트 리시버는 시스템에서 발생하는 특정한 상황에 반응할 수 있도록 정의하고 사용하는 컴포넌트입니다.

콘텐츠 프로바이더 - Content provider

 콘텐츠 프로바이더(Content provider)는 다른 앱들과 데이터를 연동 할 때 사용하는 컴포넌트입니다. 기본적으로 앱의 데이터는 파일로 관리하거나 SQLite와 같은 데이터 베이스 혹은 웹 저장소를 사용해서 저장할 수 있습니다. 다만 외부에서 접근이 불가능하기 때문에 콘텐츠 프로바이더를 통해 접근할 수 있는 방법을 제공합니다.

인텐트 - Intent

 인텐트(Intent)는 컴포넌트 간에 주고받을 수 있는 메시지를 말합니다. 앞서 이야긴 한 컴포넌트들과 달리 인텐트는 데이터를 주고받기 위한 자료 구조입니다. 예를 들어 실행된 앱 내에서의 화면 전환(액티비티 간의 전환)이 생길 때 데이터를 주고받아야 하는 경우에 사용됩니다.

요약

- 액티비티(Activity): 사용자 화면

- 서비스(Service): 보이지 않고 실행되는 기능

- 브로드캐스트 리시버(Broadcast receiver): 시스템 이벤트 처리기

- 콘텐츠 프로바이더(Content provider): 앱 데이터 관리자

- 인텐트(Intent): 컴포넌트 간의 공유 메시지

반응형

댓글

Designed by JB FACTORY