안녕하세요 초이 입니다.
기본적인 AndroidManifest.xml을 설명 드리려고 합니다.
AndroidManifest.xml은 앱의 메인 환경 파일입니다.
AndroidManifest의 구성요소의 의미를 살펴보겠습니다.
packge = "com,example.android"
이 정보로 앱을 식별합니다. 그레이들 파일에 설정된 applicationId의 값과 같습니다.
<application>
앱의 구성요소를 등록하기 위한 태그입니다. 안드로이드 앱은 컴포넌트 기반의 개발입니다. 안드로이드 컴포넌트 클래스는 (액티비티, 서비스, 브로드 캐스트 등등) AndroidManifest.xml에 등록해야 하며 <application>태그의 하위 태그로 등록합니다.
android:icon="@mipmap/ic_launcher" , android:label=@string/app_name"
<application> 태그의 속성으로, (앱 아이콘 이미지, 앱 이름)을 표시합니다.
<activity android:name=".MainActivity">
앱에 액티비티 컴포넌트를 등록하기 위한 태그입니다. <activity> 태그를 정의하기 위해서는 name 속성은 생략할 수 없습니다.
<intent-filter>
암시적 인텐트를 통해 사용자로 하여금 어느 앱을 사용할지 선택하도록 하고자 할때 IntentFilter가 필요합니다.
즉 다른 앱에서 본인앱으로 접근하거나, 본인 앱에서 다른 앱으로 접근하기 위한 필터라고 생각하십니다.
<action>
인텐트 필터에 작업을 추가합니다, <Intent-filter>는 <action> 요소가 없다면 Intent를 허용하지 않습니다.
<meta-data>
임의의 값을 저장하여 사용하는 태그, <meta-data>태그는 <application>, <activity>, <service> 등에 포함하여 사용할 수 있습니다.
예시) <meta-data name="string" resource="resource specification" value="string">
Activity에서 이 meta-data의 값을 사용하기 위해서는 다음과 같이 불러 올 수 있습니다.
ApplicationInfo appInfo = getPackageManager().getApplicationInfo(this.getPackageName(),PackageManager.GET_META_DATA);
Bundle aBundle = appInfo.metaData;
String aValue = aBundle.getString("aKey");
meta-data 태그의 value에는 값을 하드코딩하지말고 string.xml은 리소스 파일을 한번 거쳐서 사용하면 디 컴파일시 값이 안나오도록 할 수 있습니다.
[안드로이드] 터미널 명령어 - 추가 중 (0) | 2020.05.18 |
---|---|
[안드로이드] 액티비티 전환 애니메이션 (0) | 2019.12.02 |
[안드로이드] MediaStore 파일 읽기 (1) | 2019.07.16 |
[안드로이드] MediaStore 파일 저장 (3) | 2019.07.16 |
[안드로이드] ContentValues Mime Type (0) | 2019.07.16 |