안드로이드의 4대 구성요소
안드로이드의 4대 구성요소는 "Activity", "Service", "Broadcast Receiver", "Content Provider" 이다.
1. 액티비티(Activity)
Activity는 UI를 담당하는 컴포넌트이다. 이를 위해 자바 소스에서 "Activity" 클래스를 상속해야한다.
UI를 담당하기 때문에 반드시 하나 이상의 Activity를 포함하고 있다.
Activity의 특징
1. 2개의 Activity를 동시에 Display 할 수 없다.
2. 1개 이상의 View 또는 ViewGroup을 포함한다.
3. 안드로이드 Application에는 반드시 1개 이상의 Activity를 가지고 있어야 한다.
4. 다른 Application의 Activity도 불러낼 수 있다.
5. Fragment를 추가하여 화면을 분할시킬 수 있다.
2. 서비스(Service)
Service는 Background에서 실행되는 프로세스를 의미한다.
예시로 유튜브 프리미엄의 기능인 Background 재생, 또는 각종 음악 스트리밍 어플 등이 있다.
Service의 특징
1. Background에서 돌아가기 때문에 눈에 보여지는 화면이 없다.
2. Network와 연동이 가능하여 Network를 통해 데이터를 가져올 수 있다.
3. Application이 종료되어도 이미 시작된 Service는 Background에서 계속 동작한다.
3. 브로드캐스트 리시버(Broadcast Receiver)
Broadcast Receiver는 안드로이드에서 발생하는 다양한 이벤트와 정보를 받아와 반응하는 컴포넌트이다.
네트워크 연결실패, 서비스 불가 등 특수한 이벤트에 대한 처리나 배터리 부족, 문자 알림과 같은 정보를 받아
처리를 해야 할 때 동작한다.
Broadcast Receiver의 특징
1. 대부분 UI가 존재하지 않는다.
2. 안드로이드의 디바이스의 특수한 상황에 대응하기 위해 사용된다.
3. 수신기를 통해 디바이스의 상황을 감지하고 그에 맞는 작업을 수행한다.
4. 콘텐트 프로바이더(Content Provider)
Content Provider는 데이터를 관리하고 다른 Application 데이터를 제공해주는 컴포넌트이다.
DB의 데이터를 전달 할 때 많이 사용한다.
Content Provider의 특징
1. 파일 입출력, SQLite, Web 등을 통해서 데이터를 관리한다.
2. Content Provider를 통하여 다른 Application의 데이터도 변경 할 수 있다.
3. DB에서 사용되는 CURD(Create, Read, Update, Delete)원칙을 준수한다.
4. Provider는 데이터의 Read, Write에 대한 권한이 있어야 Application에 접근이 가능하다.
'안드로이드 보안 > 이론' 카테고리의 다른 글
[Android] 안드로이드에서 사용하는 Java (0) | 2023.03.11 |
---|---|
[Android] JNI(Java Native Interface)란? (0) | 2023.03.09 |
[Android] 디컴파일(Decompile)이란? (0) | 2023.03.09 |
[Android] Apktool이란? (0) | 2023.03.09 |
[Android] 안드로이드란? (0) | 2023.03.09 |