본문 바로가기
Mobile App/Android app 만들기

[app][Android] 안드로이드 4대 컴포넌트 ( Activity, Service, Broadcast Receiver, Content Provider )

by 지니어스팍 2023. 11. 22.

♥ 목차 ♥

    728x90
    728x90

    안드로이드의 4대 컴포넌트

    4대 컴포넌트는 안드로이드앱의 필수적인 기본 구성요소이다. 각 구성요소는 사용자가 앱에 들어올 수 있는 진입점이다.

    각 유형은 또렷한 목적을 수행하고 각자 나름의 생명주기가 있어 구성요소의 생성 및 소멸 방식을 정의한다.

     

    Intent

    4대 컴포넌트는 인텐트를 통해 서로 상호작용을 할 수 있다.

    https://codezaram.tistory.com/50

    intent란 컴포넌트를 수행하기 위해 시스템에 넘기는 정보이다.

    즉, 실행하고자하는 컴포넌트 정보를 담은 intent 구성 -> 시스템 -> intent 정보를 통해 그에 맞는 컴포넌트를 실행하게된다.

    안드로이드는 컴포넌트 기반 구조이고 이때 intent에 의해 내부적으로 개발자가 Activity와 같은 클래스들이 각 목적을 동작하게 된다.

     

    컴포넌트의 종류

    1 . 액티비티 (Activity)

    사용자가 앱과 상호작용하는 하나의 작은 화면을 의미하며 사용자에게 나타내지는 화면을 의미한다.

    사용자와 상호작용을 담당하는 인터페이스이기 때문에 반드시 하나 이상의 액티비티는 포함되어있어야한다.

    컴포넌트끼리는 인텐트를 통해 상호작용하기 때문에 인텐트를 통해 다른 액티비티를 호출할 수 있다.

    또한 하나이상의 View 또는 ViewGroup를 포함하고 있어야한다.

    액티비티 내 fragment를 추가하여 화면을 분할할 수도 있다.

     

    Activity도 결국 클래스(객체)로 만들어져있다. 결국 UI를 관리하는 객체라고 볼 수 있다.

    안드로이드에서 화면을 만들 때 xml 파일로 작업하는데 Activity는 이 xml파일을 보여주고 유저의 행동에 따라 그 반응을 해주는 것이다.

     

    2 . 서비스 (Service)

    서비스는 UI가 존재하지 않고 화면과 상관없이 백그라운드 상에서 계속 실행되게하는것이다.

    서비스는 사용자와 직접 상호작용하지 않는다.

    예를 들어, 화면이 꺼져도 노래가 나올 때와 어플리케이션을 사용하면서 파일을 다운로드할 때 서비스를 사용한다.

    서비스는 눈에 보이지 않는다고 다른 스레드에서 동작한다고 생각할 수 있지만 실은 메인 스레드에서 동작한다.

    따라서 서비스 내에서 별도의 스레드를 만들어서 작업을 처리해야한다.

    네트워크와 연동이 가능하고 이미 시작한 서비스는 어플리케이션이 종료되어도 계속 동작한다.

     

    ->언제 스레드를 쓰고 언제 서비스를 쓸지를 결정하는 것도 중요. 스레드와 서비스의 차이점을 공부해야겠다. Service, Thread, AsyncTask, Handler 등과 같이 알아보기

     

    3 . 브로드캐스터 (Broadcast Receiver)

    안드로이드 OS로 부터 발생하는 각종 이벤트와 정보를 받아와 핸들링하는 컴포넌트이다. 브로드캐스터는 사용자 인터페이스를 표시하지 않지만 상태표시줄 알림을 생성하여 사용자에게 이벤트가 발생했다고 알릴 수 있다.

    ex) 배터리 부족 알림, 화면 캡쳐 알림

     

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

    음악이나 사진과 같이 용량이 큰 데이터들을 공유할 때 사용한다.

    파일 시스템, SQ Lite 데이터베이스, 웹상이나 앱에 엑세스할 수 있는 다른 모든 영구 저장 위치에 저장 가능한 앱 데이터의 공유형 집합을 관리한다.

     

    출처 (감사합니다 💜) https://codezaram.tistory.com/50

     

    728x90
    728x90