ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Android] 안드로이드 4대 구성요소(Component)
    Programming/Android 2019. 1. 14. 18:29





    안드로이드에는 총 4가지의 구성 요소 Component)가 있습니다.


    1. 액티비티(Activity)  2. 서비스(Service)  3. 방송 수신기(자) Broadcast receiver)  4. 콘텐츠 제공자(Content Provider)  


    이 구성 요소들은 각각 고유의 엔티티로서 존재하며


    각기 특정한 역할을 수행하여 앱의 전반적인 동작을 정의하고 구성하는 데에 있어 유용하게 만들어 줍니다.


    쉽게 말해, 안드로이드 어플리케이션을 만들 때 주요 구성 요소라 할 수 있습니다. 


    각각의 구성 요소들은 뚜렷한 목적을 가지고 있으며, 각자 나름의 수명 주기가 있어 구성 요소의 생성 및 소멸 방식을 정의합니다.




    1. 액티비티 (Activity)


      액티비티는 사용자 인터페이스 (User Interface)를 담당하는 구성 요소로 단일 화면을 나타냅니다. 


      안드로이드 Developers 사이트에서 액티비티의 예로 매일 앱을 들었습니다만, 


      좀 더 친근한 카카오톡을 예를 들어보면, 


      채팅 방 목록을 나타내는 화면,  채팅 방 화면, 친구 목록 화면 이런 화면들을 액티비티라고 부릅니다.


      안드로이드 어플리케이션은 반드시 하나 이상의 액티비티를 가져야 하며, 


      동시에 두개의 액티비티를 화면에 띄울 수 없고 단일 화면만 가능 합니다.


      하지만 다양한 방법(프래그먼트 등)으로 화면을 분할 할 수 있도록 지원하고 있습니다.




    2. 서비스 (Service)


      서비스는 백그라운드에서 실행되는 구성 요소 입니다. 


      오랫동안 실행되는 작업을 수행하거나 원격 프로세스를 위한 작업을 수행하는 것입니다.

     

      안드로이드 Developers 사이트에서 든 예와 같이 


      서비스의 예로는 사용자가 다른 앱에 있는 동안에 백그라운드에서 음악을 재생한다던가


      사용자와 액티비티 사이의 상호작용을 차단하지 않고 네트워크를 통해 데이터를 가져온던가 


      서비스의 예는 폭넓고 다양합니다. 


      서비스는 백그라운드에서 돌아가는 컴포넌트이기 떄문에. 


      액티비티와 다르게 사용자 인터페이스(UI, User Interface)를 제공하지 않습니다.


      



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


      콘텐츠 제공자는 데이터를 관리하고 다른 애플리케이션 데이터를 제공해주는 구성 요소입니다. 

     

      즉, 공유된 앱 데이터 집합을 관리하는 컴포넌트입니다. 


      데이터는 파일 시스템이나 SQLite와 같은 데이터 베이스 또는 웹이나 기타 영구적인 저장소 위치 중


      앱이 액세스 할 수 있는 곳이라면 어디든 저장할 수 있습니다. 


      또한 콘텐츠 제공을 통해서 다른 애플리케이션의 데이터도 변경할 수 있습니다.


      콘텐츠 제공자는 이런 성격때문에 생명주기를 가지고 있지 않습니다.





    4. 브로드캐스트 수신기/자 (BroadCast Receiver) 


      브로드캐스트 수신기는 시스템 범위의 브로드 캐스트 알림에 응답하는 구성 요소를 말합니다. 


      브로드캐스트 수신기란 용어는 잘 와닿지 않아 예를 들어보자면, 


      배터리가 부족해지는 경우나, 전화가 오는 경우 등 다양하게 단말기에 일어나는 일을 알려주는 것입니다.


      즉, 특정한 작업이 단말기 내에서 일어날 경우, 그것을 받고자 선언한 곳에 알림해주는 기능이라 볼 수 있습니다.


      브로드캐스트 수신기도 사용자 인터페이스를 표시하지 않지만, 


      상태 표시줄 알림을 생성하여 사용자에게 브로드캐스트 이벤트가 발생했다고 알릴 수 있습니다.





    5. 인텐트(Intent)


    인텐트는 위의 4가지의 구성요소들간 메세지를 주고 받는 전달자 역할을 합니다. 


    인텐트를 통해서 각 컴포턴트들을 호출, 실행할 수 있습니다.







    다음엔 좀 더 각각의 컴포넌트들과 인텐트에 대해 자세하게 공부해서 업로드 할 예정입니다.


    혹시 틀린 부분이 있다면 말씀해주시면 고치도록 하겠습니다.



    참고 :  https://developer.android.com/guide/components/fundamentals (안드로이드 디벨로러  사이트)


      











    'Programming > Android' 카테고리의 다른 글

    [Android] setTextSize 단위 SP, DP 차이점과 특징  (0) 2019.01.15
Designed by Tistory.