티스토리 뷰

Android

시작점(Entry Point)와 Manifest파일

취뽀가자!! 2019. 1. 18. 06:11

시작점(Entry Point)와 Manifest파일

Entry Point


대부분의 운영체제나 언어에서 프로그램의 Entry Point는 오직 하나만 존재하고 보통은 main이라는 함수이다. 반면에 안드로이드는 예외적으로 단일 진입점을 가지고 있지 않다. 안드로이드는 단일 Entry Point 대신 사용가능한 4가지 컴포넌트를 가지고 있다.


4대 컴포넌트는 Activity, Service, BroadCastReceiver, Content Provider이고, Entry Porint를 통해 시스템에서 컴포넌트로 제어권을 넘기기 위해서는 AndroidManifest.xml 파일에 적어둬야 한다.


Activity

Activity는 화면에 포커싱되어 사용자와 상호 작용을 하는 컴포넌트이다. MainActivity가 바로 Activity이다.

Service

Service는 백그라운드에서 실행되는 구성 요소로, 오랫동안 실행되는 작업을 수행하거나 원격 프로세스를 위한 작업을 수행하는 것이다. 이는 백으라운드에서 작업되는 것이기 때문에 사용자 UI를 제공하지 않는다.

BroadCastReceiver

BroadCastReceiver는 시스템 변경 사항의 알림을 받기 위해 존재한다.예를 들어 네트워크를 사용하는 애플리케이션은 와이파이 접속이 끊겼을 때 추가적으로 작업을 해야할 수 있다. 이럴때 BroadCastReceiver를 등록하면 시스템에서 전송하는 와이파이 끊김 알림을 받을 수 있게 된다.

ContentProvider

안드로이드에서 각 앱은 자신의 데이터만 볼 수 있다. 만약 다른 앱이 자신의 데이터를 변경할 수 있도록 허용하면 보안에도 위험하며 문제 될 소지가 많기 때문이다. 

하지만 경우에 따라서는 자신의 앱의 데이터를 다른 앱에게 공유를 해야 하는 경우도 있다. 예를 들어 갤러리 앱의 경우 자신이 관리하는 사진을 다른 앱에서도 사용할 수 있도록 해 줘야 한다. 이러한 경우에 사용되는 것이 ContentProvider이다. 데이터가 필요한 앱은, 데이터를 제공할 앱의 ContentProvider를 통해서만 데이터를 제공받을 수 있다. 이렇게 하면 데이터를 공유하면서도 다른 프로그램이 임의로 데이터를 바꿀수 없도록 제어하는 것이 가능하다.




댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함