-
[Android] 기본적인 안드로이드 구조 및 용어 파악하기(1)Programming/Android 2020. 5. 21. 16:34
1. Manifest
- AndroidManifest.xml -> 매니페스트 파일은 Android 빌드 도구, Android 운영체제 및 Google Play 앱에 관한 필수 정보를 설명
- 즉 메니페스트란 "안드로이드 시스템이 앱의 코드를 실행하기 전에 확보해야 하는 앱에 대한 필수 정보를 시스템에 제공하는 목록"
Manifest에 선언해야 하는 내용
- 앱의 패키지 이름
- 앱의 구성요소
- 시스템 또는 다른 앱의 보호된 부분에 액세스하기 위해 필요한 권한
- 앱에 필요한 하드웨어 및 소프트웨어 기능
2. Permission
- Manifest에 어떤 권한을 얻을 것인지 명시해야함
- Activity클래스에서도 권한에 따른 코드를 추가해야함
- 권한을 얻지 못한 상태에서 해당 권한이 필요한 작업을 시도하려고 하면 SecurityException 발생
--> 모든 경우에 그런 것은 아니지만 대부분의 경우 Log에 찍힘
3. 4대 컴포넌트
-> 안드로이드 4대 컴포넌트는 Activity, Service, Content Provider, BroadCast Receiver등이 있음
3-1 Activity
- UI 화면을 담당하는 컴포넌트
- 자바소스에서 Activity 클래스를 상속해야 하고, 기본적으로 가지고 있는 생명주기 메소드를 재정의 하여 원하는 기능을 구현하는 방식으로 제작
- 가장 많이 쓰이는 컴포넌트
- 안드로이드 어플리케이션은 반드시 하나 이상의 Activity를 가지고 있어야함
- 두 개의 액티비티를 동시에 Display 할 수 없음
- 다른 어플리케이션의 액티비티도 불러낼 수 있음
- 액티비티 내에 Fragment 추가하여 화면 분할 가능
3-2 Service
- 서비스는 백그라운드에서 실행되는 프로세스
- 화면이 존재하지 않음
- 애플리케이션 구성요소이므로 항상 매니페스트에 등록을 해주어야함
- 메인 Activity에서 서비스를 시작하고 싶은 경우 startService() 메서드 이용해 서비스 실행
- 백그라운드에서 돌아가는 컴포넌트
- 한 번 시작된 서비스는 어플리케이션이 종료되어도 계속해서 백그라운드에서 동작
- 모든 서비스는 Service 클래스를 상속받아서 사용
- 네트워크를 통해서 데이터를 가져올 수 있음
3-3 Content Provider
- 데이터를 관리하고 다른 어플리케이션 데이터를 제공해주는 컴포넌트
- DB에서 데이터를 전달할 때 많이 사용
- 생명주기를 가지고 있지 않음
- Content Provider를 통해 다른 어플리케이션의 데이터 변경 가능
3-4 Broadcast Receiver
- 다양한 이벤트와 정보를 받아 반응하는 컴포넌트
- 브로드캐스팅 메시지를 Broadcast Receiver라는 어플리케이션 구성요소를 이용해 받을 수 있음
- 디바이스에서 발생하는 일 중에서 어플리케이션이 알아야 하는 상황이 발생하면 알려줌
- 수신기를 통해 디바이스의 상황을 감지하고 적절한 작업 수행
- 대부분 UI가 존재하지 않음
REF)
https://coding-factory.tistory.com/205
'Programming > Android' 카테고리의 다른 글
[Android] 레이아웃 (2) 2020.05.22 [Android] 기본적인 안드로이드 구조 및 용어 파악하기(2) (0) 2020.05.21