Android Manifest 파일의 용도는 무엇입니까?
Android 응용 프로그램 매니페스트 파일에서 찾을 수 있는 내용을 설명하는 훌륭한 답변들이 몇 가지 있었지만, 매니페스트의 용도에 대해 조금 더 알아보았습니다.
짐작하시겠지만, 매니페스트에 제공된 많은 정보가 애플리케이션 패키지의 다른 곳에서도 찾을 수 있는데, 매니페스트가 있는 이유는 무엇일까요?
매니페스트는 기본적으로 다음 역할을 수행합니다.
- 패키지의 다른 파일을 읽거나 응용 프로그램을 실행하지 않고도 앱에 대한 주요 정보를 사용할 수 있습니다.
- 다른 앱에서 외부에서 액세스할 수 있는 애플리케이션 구성 요소(예: 활동 및 서비스)와 이러한 구성 요소가 다른 앱과 어떻게 상호 작용하는지를 정의합니다.
- 특히 다른 앱과 관련하여 어떤 구성 요소와 리소스(아이콘, 텍스트 문자열 등)를 사용할지 명확하게 선언합니다.
예를 들어 앱에서 다른 앱에서 공유하는 파일을 허용할 수 있는 경우 매니페스트는 파일을 수신할 구성 요소와 받을 수 있는 파일 종류를 나타냅니다.
또는 다른 예로서, 앱에 있는 그래픽 파일(앱에 많은 파일이 있을 수 있음) 중 어떤 것이 실행 중인 앱의 아이콘으로 사용될 것인지를 나타냅니다.
물론 이와 같은 목표를 달성하는 데는 여러 가지 다른 방법이 있지만, 이것이 구글이 안드로이드 디자인을 할 때 선택한 접근법입니다.
예를 들어 OS는 아마도 매니페스트에 이를 나열할 필요 없이 "test.png"와 같은 고정 파일 이름을 가질 수 있지만 Android는 매니페스트를 사용합니다.
이 접근법에는 많은 장점이 있습니다. 무엇보다 모든 정보를 한 곳에 모아놓기 때문에 개발자가 앱을 만들 때 실수 가능성이 줄어듭니다. 또한 확장 가능한 시스템이므로 기존 애플리케이션을 중단하지 않고도 나중에 다른 종류의 데이터를 추가할 수 있습니다. 또한 하나의 파일을 읽고 모든 앱의 메타데이터를 얻을 수 있다면 성능에 도움이 될 수 있습니다.
따라서 기본적으로 매니페스트는 앱이 실행되지 않을 때에도 애플리케이션과 외부 간의 표준화된 인터페이스를 제공합니다. 일반적으로 이 방법만 있는 것이 아니라 좋은 방법 중 하나이며 구글이 안드로이드로 선택한 방식이기 때문에 모든 안드로이드 앱이 해야 하는 방식입니다.
'SW > 앱플랫폼' 카테고리의 다른 글
앱플랫폼 : 안드로이드 라이프 사이클 : 개념, 동작, 방식 (0) | 2019.06.20 |
---|---|
앱플랫폼 : 안드로이드 onResume(), finish() 개념, 팁 (0) | 2019.05.13 |
앱플랫폼 : 클라이언트, 서버, 호스트 개념과 역할 (0) | 2019.05.11 |
앱 플랫폼 개발 : JWT ( 개념, 정의, 구조 ) (0) | 2019.04.13 |
앱 플랫폼 개발 : 세션, 쿠키 ( 개념, 정의 ) (0) | 2019.04.11 |