Android Manifest 파일 소개
안 드 로 이 드 프로그램 을 개발 한 사람들 은 안 드 로 이 드 프로그램 에 반드시 안 드 로 이 드 매 니 페스트 파일 이 있다 는 것 을 안다.이 파일 은 Android 시스템 에 자신의 app 정 보 를 알려 줍 니 다. app 을 실행 하기 전에 시스템 이 알 아야 할 정 보 를 알려 줍 니 다.또한, 이 프로그램의 실행 환경, app 에 필요 한 권한, app 에 포 함 된 4 대 구성 요소 의 내용 등 Android Manifest 파일 에 정 보 를 정의 해 야 합 니 다.Andorid Manifest 파일 의 구 조 는 일반적으로 다음 과 같 습 니 다.
<?xml version="1.0" encoding="utf-8"?>
<manifest>
<uses-permission />
<permission />
<permission-tree />
<permission-group />
<instrumentation />
<uses-sdk />
<uses-configuration />
<uses-feature />
<supports-screens />
<compatible-screens />
<supports-gl-texture />
<application>
<activity>
<intent-filter>
<action />
<category />
<data />
</intent-filter>
<meta-data />
</activity>
<activity-alias>
<intent-filter>. . .</intent-filter>
<meta-data />
</activity-alias>
<service>
<intent-filter>. . .</intent-filter>
<meta-data />
</service>
<receiver>
<intent-filter>. . .</intent-filter>
<meta-data />
</receiver>
<provider>
<grant-uri-permission />
<meta-data />
<path-permission />
</provider>
<uses-library />
</application>
</manifest>
다음은 각 라벨 이 표현 하 는 뜻 을 한 번 살 펴 보 겠 습 니 다.
action
액 션 태그 입 니 다. 이것 은 매우 흔히 볼 수 있 는 태그 입 니 다. intent - filter 태그 에 존재 합 니 다.하나의 activity 와 연결 되면 이 활동 이 이 동작 을 가지 고 있다 는 것 을 나 타 낼 수 있 습 니 다. 의도 적 으로 보 내 고 이러한 Activity 정의 동작 이 있 으 면 이 activity 를 찾 을 수 있 습 니 다. 보통 category 와 함께 사용 합 니 다.
Example:
<action android:name="android.intent.action.MAIN" />
activity
활동 태그, 가장 자주 사용 하 는 태그, 활동 을 정의 하고 대량의 속성 을 가 지 며 공식 문 서 를 구체 적 으로 참고 합 니 다.
activity-alias
이벤트 탭 의 대체 자, 가장 중요 한 속성 은 android: targetActivity 입 니 다. 이 속성 을 통 해 가리 키 는 activity 를 설정 할 수 있 습 니 다.일반적으로 활동 의 별명 으로 이해 할 수 있다.아래 와 같이 정의 하면 두 프로그램의 입 구 를 얻 을 수 있 습 니 다.
<activity
android:name=".MainActivity"
>
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity-alias
android:name="MainActivityAlias"
android:targetActivity="MainActivity"
android:label="MainActivityAlias"
>
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity-alias>
application
응용 프로그램 에 대한 성명 역시 대량의 속성 을 가지 고 있다.우리 가 흔히 볼 수 있 는 Activity, Service, Receiver 는 이 탭 내 부 를 정의 합 니 다.또한 설정 테마 등 전역 설정 과 유사 한 역할 도 합 니 다.
category
category 탭 은 일반적으로 Action 과 함께 사용 되 며, activity 를 찾 는 데 도 사 용 됩 니 다. action 이 유일한 activity 를 확인 할 수 없 을 때, 이 때 Intent - filter 에 category 탭 을 추가 하면 어떤 activity 인지 확인 할 수 있 습 니 다. 하나의 Intent - filter 는 여러 개의 activity 를 가 질 수 있 습 니 다.
Example:
<activity
android:name=".MainActivity"
android:theme="@android:style/Theme.NoDisplay"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
compatible-screens
일반적으로 이 탭 을 사용 하 는 것 을 권장 하지 않 습 니 다. 이 탭 은 프로그램 자체 에 영향 을 주지 않 지만 Google Play 등 앱 시장 에서 프로그램의 호환성 을 판단 하 는 데 영향 을 줄 수 있 습 니 다.
data
data 도 Intent - filter 에 사 용 됩 니 다.그것 은 또 다른 포 지 셔 닝 activity 방식 을 제공 했다.네트워크 의 URL 주소 가 웹 페이지 에 위치 할 수 있 듯 이 형식 을 정의 한 다음 특정한 activity 로 이동 할 수 있 습 니 다.브 라 우 저 에서 어떤 프로그램 을 열거 나 설치 하 라 는 힌트 를 보 았 다 면.이 안의 실현 원 리 는 바로 이것 이다.나 는 이전에 이런 문장 을 쓴 적 이 있다.
grant-uri-permission
이것 은 콘 텐 츠 제공 자가 클 라 이언 트 에 게 데 이 터 를 제공 하 는 데 사용 되 는 속성 입 니 다.grandUriPermisson 이 true 로 설정 되 었 을 때 클 라 이언 트 는 콘 텐 츠 제공 자의 모든 데 이 터 를 얻 을 수 있 습 니 다. false 로 설정 되면 grant - uri - permission 이 정의 하 는 경로 에 만 접근 할 수 있 습 니 다.이 탭 은 권한 이 없 는 상태 에서 다른 프로그램 이 제공 하 는 데 이 터 를 방문 하 는 데 사 용 됩 니 다.이 탭 은 Provider 탭 에 포함 되 어 있 습 니 다. 문법 은 다음 과 같 습 니 다.
<grant-uri-permission android:path="string"
android:pathPattern="string"
android:pathPrefix="string" />
instrumentation
이 탭 은 보통 유닛 테스트 에서 사 용 됩 니 다. 만 든 Instrumentation 류 는 프로그램의 상호작용 을 모니터링 할 수 있 고 프로그램의 모든 구성 요소 가 초기 화 됩 니 다.
SYNTAX:
<instrumentation android:functionalTest=["true" | "false"]
android:handleProfiling=["true" | "false"]
android:icon="drawable resource"
android:label="string resource"
android:name="string"
android:targetPackage="string" />
functionaltest 속성 은 유닛 테스트 에 사용 할 지 여 부 를 결정 합 니 다. handle Profiling 은 분석 기능 을 시작 할 지 여 부 를 결정 합 니 다. andorid: name 은 자신 이 정의 한 Instrumentation 하위 클래스 입 니 다. targetPackgage 는 테스트 할 프로그램 을 정의 합 니 다.
intent-filter
Activity, Service 또는 라디오 에서 받 을 수 있 는 Intent 를 정의 하 는 것 도 가장 많이 사용 되 는 태그 중 하나 입 니 다.action 탭 을 포함해 야 합 니 다.
SYNTAX:
<intent-filter android:icon="drawable resource"
android:label="string resource"
android:priority="integer" >
. . .
</intent-filter>
android:priority 。 -1000 1000, 0。 IntentFilter setPriority() 。
Manifest
이것 은 할 말 이 없습니다. 마치 웹 의 html 태그 와 같 지만 Manifest 파일 에서 많은 정 보 를 정의 할 수 있 습 니 다.
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="string"
android:sharedUserId="string"
android:sharedUserLabel="string resource"
android:versionCode="integer"
android:versionName="string"
android:installLocation=["auto" | "internalOnly" | "preferExternal"] >
. . .
</manifest>
meta-data
메타 데이터 탭 은 시스템 에서 사용 할 수 있 는 데 이 터 를 정의 하 는 데 사 용 됩 니 다.
<meta-data android:name="string"
android:resource="resource specification"
android:value="string" />
프로그램 이 값 을 얻 을 수 있 도록 메타 데이터 에 유일한 이름 을 정의 해 야 합 니 다. 문자열 이 라면 일반적으로 이렇게 정의 할 수 있 습 니 다.
<meta-data android:name="com.fyales.name"
android:value="fyales" />
그림 이 라면 안 드 로 이 드: resource 속성 을 사용 합 니 다.
<meta-data android:name="com.fyales.picture"
android:value="@drawable/ic_launch" />
이후 activity 에서 호출:
ActivityInfo info = this.getPackageManager().getActivityInfo(getComponentName(),PackageManager.GET_META_DATA);
info.metaData.getString(“com.fyales.picture”);
여기 서 주의해 야 할 것 은 meta - data 가 정의 하 는 위치 가 다 르 면 이 메타 데 이 터 를 가 져 오 는 방법 도 다 릅 니 다. 위의 제 meat - data 는 activity 에 정의 되 어 있 습 니 다. application 에 정의 되면 아래 와 같이 호출 해 야 합 니 다.
ApplicationInfo appInfo = this.getPackageManager()
.getApplicationInfo(getPackageName(),PackageManager.GET_META_DATA);
appInfo.metaData.getString("meta_name");
제시 하 다.
안 드 로 이 드 매 니 페스트 는 구 글 홈 페이지 에 상세 한 설명 이 있 고, 필요 한 친구 가 있 으 면 직접 방문 해 설명 할 수 있다.안에 라벨 의 완전한 설명 이 있다.만약 이 문장 에 무슨 누락 이 있다 면 벽돌 을 찍 는 것 을 환영 합 니 다.
이상:
구호: 재 미 있 는 것들 을 만들어 라!
.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Kotlin의 기초 - 2부지난 글에서는 Kotlin이 무엇인지, Kotlin의 특징, Kotlin에서 변수 및 데이터 유형을 선언하는 방법과 같은 Kotlin의 기본 개념에 대해 배웠습니다. 유형 변환은 데이터 변수의 한 유형을 다른 데이터...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.