[Android] 앱 구성 요소(Application Component)
Activity(액티비티)
123* 사용자 인터페이스가 있는 단일 화면(상호작용 할 수 있는 화면)
* 하나의 애플리케이션은 보통 여러 개의 액티비티가 느슨하게 서로 묶여 있는 형태로 구성됨
* 액티비티는 스택(LIFO)으로 관리됨
Service(서비스)
123* 백그라운드에서 실행되는 구성 요소
* 오랫동안 실행되는 작업을 수행하거나 원격 프로세스를 위한 작업을 수행
* 다른 구성 요소가 서비스를 시작한 다음 실행되도록 두거나 자신에게 바인드하여 상호작용할 수 있음
ContentProvider(콘텐츠 제공자)
123* 공유된 앱 데이터 집합을 관리
* 데이터는 파일 시스템이나 SQLite 데이터베이스 또는 웹이나 기타 영구적인 저장소 위치 중 앱이 액세스할 수 있는 곳이면 어디에든 저장할 수 있음
* 앱에 전용이며 공유되지 않는 데이터를 읽고 쓰는 데에도 유용함
BroadcastReceiver(브로드캐스트 수신기)
123* 시스템 범위의 브로드캐스트 알림에 응답하는 구성 요소
* 대다수의 브로드캐스트는 시스템에서 시작(화면 꺼짐, 배터리 잔량 부족, 사진 캡쳐 등)
* 브로드캐스트 수신기는 그저 다른 구성 요소로의 “게이트웨이”인 경우가 보편적이고, 극소량의 작업만 수행하도록 만들어진 경우가 많음
시스템이 구성 요소를 시작하는 경우, 그 앱에 대한 프로세스를 시작하고(이미 실행 중이지 않는 경우), 해당 구성 요소에 필요한 클래스를 인스턴스화함
구성 요소 활성화
- 액티비티, 서비스, 브로드캐스트 수신기는 Intent(인텐트)라고 하는 비동기식 메시지로 활성화함
- 인텐트는 각각의 구성 요소를 런타임에 서로 바인드하며 구성 요소가 앱에 속하는지 여부에 무관함.
AndroidManifest
- 구성 요소 선언
- 액티비티 : <activity>
- 서비스 : <service>
- 브로드캐스트 수신기 : <receiver>
- 콘텐츠 제공자 : <provider>
- 앱이 요구하는 모든 사용자 권한 식별
- 최소 API 레벨 선언
- 앱에서 사용하거나 필요로 하는 하드웨어 및 소프트웨어 기능 선언
- 앱이 링크 되어야 하는 API 라이브러리
- 앱 요구사항 선언
- 앱이 지원하는 기기 유형에 대한 프로필을 명확하게 정의
App Resource(앱 리소스)
- XXXX.png 추가 -> R.drawable.XXXX로 생성
'Programming > Android' 카테고리의 다른 글
[Android] Dalvik & ART (1) | 2019.04.16 |
---|---|
[Android] Context (0) | 2018.09.18 |
[Android] How To APK Install Programmatically (0) | 2018.09.05 |
[Android] Input Event (0) | 2018.06.16 |
[Android] View (0) | 2018.06.14 |