728x90
Manifest
안드로이드 시스템이 앱의 코드를 실행하기 전에 확보해야 하는 앱에 대한 필수 정보를 시스템에 제공하는 목록
- 앱의 패키지 이름
- 앱에서 사용되는 컴포넌트(액티비티, 서비스, 브로드캐스트 리시버, 컨텐트 프로바이더)
- 권한(Permission)
- 앱에서 요구하는 하드웨어와 소프트웨어 특징
1. Package name and Application ID
매니페스트 파일의 Root element() 에는 해당 앱의 패키지 네임이 반드시 기재되어야 합니다.
"com.ready.example" 이라는 패키지 네임의 manifest 파일
...
여기서 manifest의 패키지 네임은 우리가 앱을 빌드하여 APK 를 추출하는 과정에서 Android Build Tool 에 의해 다음 2가지 목적으로 사용됩니다.
- App Resource 에 접근하는데 사용되는 R 클래스의 네임스페이스로 적용됩니다. 위 예에서는 com.ready.example.R 클래스가 생성됩니다.
- 매니페스트 파일 내에서 선언된 상대경로에 적용됩니다.
예를 들어 \<activity android:name=".MainActivity> 라고 선언했다면 이는 "com.ready.example.MainActivity" 를 가리키게 됩니다.
2. App Components
4대 컴포넌트(Activity, Service, Broadcast Receiver, Content Provider), 이 컴포넌트들을 앱에서 사용한다면 매니페스트 파일에 등록해줘야 합니다. Manifest 파일 내에서 각각 다음 태그를 통해 선언할 수 있습니다.
- <activity> : Activity
- <service> : Service
- <receiver> : Broadcast Receiver
- <provider> : Content Provider
4대 컴포넌트들은 각각 인텐트에 의해 활성화됩니다.
여기서 인텐트란 메세지 객체로, 어떤 행동을 수행할지에 대한 명령이나 작업에 필요한 데이터를 포함합니다.
(앱이 인텐트를 시스템에 발행하면 시스템은 각 앱의 매니페스트에 선언된 intent-filter 에 기초하여 처리할 수 있는 인텐트를 컴포넌트를 찾게 됩니다. 만약 여러 개의 앱이 인텐트를 다룰 수 있다면, 사용자가 해당 인텐트를 어떤 앱에게 넘길지 선택할 수 있습니다.)
728x90
LIST
'Android' 카테고리의 다른 글
Android Spinner (3) | 2023.12.04 |
---|---|
Android - Garbage Collection(GC) (2) | 2023.11.08 |
Android Layout (1) | 2023.09.04 |
안드로이드 Activity 생명주기 (1) | 2023.08.29 |
Android 4대 컴포넌트 (0) | 2023.08.29 |