[안드로이드] - 4대 컴포넌트

2023. 2. 19. 18:12Android

갑자기 4대 컴포넌트에 대해 정리하고 싶어졌다. 이력서나 면접에 대해 고민하게되고 그렇다보니 기본적인 cs 지식에 대해 부족한 점과 기본적인 이론에 대해 정리해야겠다 생각이 들어 적게됬다...

 

컴포넌트란 무엇일까? 

프로그래밍적인 의미로는 여러개의 독립적인 모듈들을 말한다.

그럼 안드로이드에 있는 4대 컴포넌트는 무엇일까?

 

- Activity (액티비티)

 

사용자의 인터페이스 화면을 말하며 특정 작업들을 수행한다.

Activity가 존재하지 않으면 사용자와의 상호작용을 할 수 없기에 하나 이상의 Activity는 필수적으로 존재해야한다.

Activity는 무조건적으로 Manifest에 등록이 되어있어야되고 하나 이상의 View 또는 ViewGroup이 존재해야 한다.

 

- Service (서비스)

 

백그라운드에서 실행된는데 때문에 Activity 또는 Fragment와 상호작용을 하지 않는다. -> ui 존재하지 않음

백그라운드에서 실행되기 때문에 사용자가 애플리케이션 전환하더라도 지속적으로 백그라운드에서 실행된다.

-> 음악, 유튜브 백그라운드 서비스, 게임 실행후 패키지 다운로드 등등

 

- Broadcast Reciver (브로드 캐스트)

 

안드로이드 기기에서 발생하는 이벤트에 대응할때 사용하는 컴포넌트이다.

기기에서 애플리케이션 알아야되는 정보를 방송해준다

-> 배터리 알림, 전화 수신 등등

 

- Content Provider (콘텐츠 제공)

 

안드로이드 애플리케이션의 데이터를 관리하고 제공하는 역할을 한다.

데이터를 저장하고 호출해 사용할 수 있는  시스템을 말하며 안드로이드에는 내부 파일 시스템, SQLite 등등에서 접근해 데이터를 가져올 수 있다.

용량이 커다란 데이터를 공유하는데 적합합하다.

-> 갤러리 접근, 지도에서 현재 위치 가져오기 등등이 있다 이러한 것들은 Manifest에서 선언을 하고 사용자에게 권한을 얻어야 된다.