티스토리 뷰

안녕하세요, 안드로이드 개발에 앞서 알아둬야 하는 것은 안드로이드의 4대 컴포넌트 입니다. 


4가지 컴포넌트 설명에 앞서 우리가 왜 이것을 알아야 할까요? 사실 안드로이드의 이론적인 부분들을 모르고 개발을 우선 시작해도 된다고 생각합니다. 개발을 하면서 배워가는 부분도 있죠. 하지만 4대 컴포넌트는 개발하는데 가장 기본이 되는 부분이고, 알아두시면 나중에 면접보실 때 유용하실 거에요. 제가 실제로 신입 면접 때 많은 회사들에서 물어봤던 질문 중에 하나의 였습니다. 


이제 4대 컴포넌트에 대해서 하나씩 알아보도록 하겠습니다. 


1. 액티비티(Activity)란?

액티비티는 화면을 담당하는 컴포넌트 입니다. 실제로 저희가 앱의 한 화면을 만들기 위해서는 액티비티 하나를 생성해야합니다. 앱을 만드는데 꼭 알아야 하는 가장 중요한 개념입니다. 저희가 프로젝트를 만들면 기본적으로 MainActivity가 만들어집니다. 


액티비티의 특징

- 어플리케이션에는 하나 이상의 액티비티를 가지고 있어야 합니다. 그래야 어플을 만들수 있겠죠? 

- 화면에는 2개 이상의 액티비티를 동시에 보여줄 수 없습니다. -> 이부분은 액티비티의 생명주기 부분을 알면 이해가 더 편하실거 같네요.


액티비티 생명주기 이미지액티비티 생명주기 이미지

해당 이미지는 액티비티 생명주기 관련한 이미지 입니다. 안드로이드 앱개발에서 생명주기는 엄청 중요한 부분입니다. 이부분도 꼭 읽어주세요! 

안드로이드 액티비티 생명주기 설명글 링크


2. 서비스(Service)란?

서비스는 백그라운드에서 실행되는 프로세스입니다. 예를 들면, 음악 어플로 노래를 틀고 다른 어플을 사용할 수 있습니다. 이와 같은 상황에서는 백그라운드 즉, 눈에 보이지 않는 곳에서는 음악 재생하는 기능이 실행되고  있습니다. 이와 같이 화면에는 보이지 않지만, 어떤 기능이 실행되는 것입니다. 


서비스의 특징

- 액티비티와 다르게 UI가 필요없습니다.

- 해당 어플리케이션이 종료되어도 백그라운드에서 돌아갑니다.

- 네트워크와 통신을 통해 데이터를 가져올 수 있습니다. 예를 들어, 파일 다운로드 하는 경우 


3. 방송 수신자(Broadcast Recevier)란?

방송 수신자는 안드로이드의 다양한 정보(이벤트)를 받아 작동합니다. 예를 들어, 우리의 휴대폰이 배터리가 없을때, 물기가 묻었을때 알림이 뜨신걸 볼 수 있습니다. 이와 같이 특정 액티비티에서 메시지를 전달하는 방법을 말합니다. 


디바이스 사용자가 알아야 하는 상황에 대처하기 위해 사용합니다. 


4. 콘텐츠 제공자 (Content Provider)란?

콘텐츠 제공자는 디바이스 내부 데이터를 관리하고 다른 어플리케이션에게 데이터를 제공해주는 역할을 합니다. 


- SQLiteDB, 파일입출력 등을 통해 기기의 내부 데이터를 관리합니다.

- 다른 어플리케이션의 데이터에 접근이 가능합니다.


 

처음에는 해당 부분이 어려우실 수 있습니다. 저도 처음에는 굉장히 이해도 안되고  어려웠습니다. 개발을 하면서 하나하나 뭔지 감을 잡아가시면 됩니다. 


읽어주셔서 감사합니다.


댓글