Android 에서 Manifest.xml 파일 에 대한 자세 한 설명
5238 단어 AndroidManifest.xml
모든 안 드 로 이 드 항목 은 목록(Manifest)파일 인 AndroidManifest.xml 을 포함 하고 프로젝트 계층 의 맨 밑 에 저 장 됩 니 다.목록 은 응용 프로그램 과 구성 요소 의 구조 와 메타 데 이 터 를 정의 할 수 있 습 니 다.
이 는 응용 프로그램 을 구성 하 는 모든 구성 요소(활동,서비스,콘 텐 츠 제공 기,방송 수신 기)의 노드 를 포함 하고 Intent 필터 와 권한 을 사용 하여 이 구성 요소 들 과 이 구성 요소 들 이 다른 응용 프로그램 과 어떻게 상호작용 하 는 지 확인 합 니 다.
이 는 응용 프로그램의 메타 데이터(예 를 들 어 아이콘 이나 테마)와 안전 설정 과 유닛 테스트 의 최상 위 노드 를 상세 하 게 설명 하 는 다양한 속성 도 제공 합 니 다.다음 과 같 습 니 다.
목록 은 하나의 manifest 탭 으로 구성 되 어 있 으 며,이 탭 은 프로젝트 패키지 의 패키지 속성 을 설정 합 니 다.이것 은 보통 xmlns:android 속성 을 포함 하여 파일 에 사용 되 는 일부 시스템 속성 을 제공 합 니 다.아래 XML 코드 세그먼트 는 전형 적 인 성명 노드 를 보 여 줍 니 다.
<manifest xmlns:android=http://schemas.android.com/apk/res/android
package="com.my_domain.my_app">
[ ... manifest nodes ... ]
</manifest>
manifest 탭 은 일부 노드(node)를 포함 하고 응용 프로그램 구성 요소,보안 설정 과 응용 프로그램 을 구성 하 는 테스트 클래스 를 정의 합 니 다.다음은 자주 사용 하 는 manifest 노드 탭 을 보 여 주 며 XML 코드 세그먼트 로 어떻게 사용 하 는 지 설명 합 니 다.1.application
하나의 목록 에는 하나의 application 노드 만 포함 할 수 있 습 니 다.프로그램 에 있 는 다양한 메타 데이터(제목,아이콘,테마 포함)를 지정 하기 위해 다양한 속성 을 사용 합 니 다.프로그램 구성 요 소 를 지정 하기 위해 활동,서비스,콘 텐 츠 제공 기,방송 수신 기 라벨 을 포함 하 는 용기 로 도 사용 할 수 있다.
<application
android:icon="@drawable/icon"
android:theme="@style/my_theme">
[ ... application nodes ... ]
</application>
2.activity프로그램 이 표시 하 는 모든 Activity 는 activity 탭 을 요구 하고 android:name 속성 을 사용 하여 클래스 의 이름 을 지정 합 니 다.이것 은 핵심 적 인 시작 Activity 와 표시 할 수 있 는 모든 화면 이나 대화 상 자 를 포함해 야 합 니 다.목록 에 정의 되 지 않 은 Activity 를 시작 할 때 실행 중 이상 을 던 집 니 다.모든 Activity 노드 는 intent-filter 하위 탭 을 사용 하여 어떤 Intent 가 이 활동 을 시작 할 지 지정 할 수 있 습 니 다.
<activity
android:name=".MyActivity"
android:label="@string/app_name">
<intent-filter>
<action
android:name="android.intent.action.MAIN" />
<category
android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
3.providerprovider 탭 은 프로그램의 모든 콘 텐 츠 제공 자 를 설명 하 는 데 사 용 됩 니 다.콘 텐 츠 제공 기 는 데이터베이스 접근 과 프로그램 내 및 프로그램 간 공 유 를 관리 하 는 데 사용 된다.
<provider
android:permission="com.liujc.MY_PERMISSION"
android:name=".MyContentProvider"
android:enabled="true"
android:authorities="com.liujc.myapp.MyContentProvider">
</provider>
4.receiverreceiver 탭 을 추가 하면 프로그램 을 미리 시작 하지 않 고 라디오 수신 기(Broadcast Receiver)를 등록 할 수 있 습 니 다.방송 수신 기 는 전역 이벤트 모니터 처럼 등록 되면 언제든지 그 와 일치 하 는 intent 가 프로그램 에 방송 되면 즉시 실 행 됩 니 다.성명 에 라디오 수신 기 를 등록 하면 이 프로 세 스 를 완전히 자동화 할 수 있다.일치 하 는 Intent 가 방송 되면 프로그램 이 자동 으로 시작 되 고 등 록 된 방송 수신 기도 실 행 됩 니 다.
<receiver
android:enabled="true"
android:label="My Broadcast Receiver"
android:name=".MyBroadcastReceiver">
</receiver>
5.service서 비 스 는 안 드 로 이 드 4 대 구성 요소 중 하나 로 서 모든 응용 프로그램 에서 매우 중요 한 역할 을 하고 있다.그것 은 주로 배경 에서 시간 이 걸 리 는 논 리 를 처리 하거나 장기 적 으로 실행 해 야 할 임 무 를 수행 하 는 데 사용 된다.
<service
androidandroid:enabled="true"
android:name=".MyService">
</service>
6. uses-permission보안 모델 의 일부분 으로서 uses-permission 라벨 은 프로그램 이 정상적으로 실행 하 는 데 필요 한 권한 을 설명 합 니 다.프로그램 을 설치 할 때 설정 한 모든 권한 은 사용자 에 게 알려 주 고 동의 여 부 를 결정 합 니 다.많은 로 컬 안 드 로 이 드 서비스 에 있어 권한 은 필수 적 이다.특히 비용 을 지불해 야 하거나 안전 에 문제 가 있 는 서비스(예 를 들 어 전화 걸 기,SMS 수신 또는 위치 기반 서 비 스 를 사용 하 는 것).다음 과 같이 제3자 응용 프로그램 은 자신의 응용 프로그램 을 포함 하고 공 유 된 프로그램 구성 요소 에 접근 하기 전에 권한 을 지정 할 수 있 습 니 다.
<uses-permission android:name="android.permission.ACCESS_LOCATION"> </uses-permission>
7.permission프로그램 구성 요소 에 접근 하 는 것 을 제한 할 수 있 기 전에 목록 에서 permission 를 정의 해 야 합 니 다.permission 탭 을 사용 하여 권한 정 의 를 만 들 수 있 습 니 다.그리고 응용 프로그램 구성 요 소 는 android:permission 속성 을 추가 해서 권한 을 요구 할 수 있 습 니 다.그 다음 에 다른 프로그램 은 목록 에 uses-permission 태그(인증 을 통 해)를 포함 한 후에 야 보 호 된 구성 요 소 를 사용 할 수 있 습 니 다.
uses-permission 태그 에서 허용 되 는 접근 권한 의 등급(normal,dangerous,signature,signature OrSystem),label 속성 과 외부 자원 을 상세 하 게 지정 할 수 있 습 니 다.이 외부 자원 은 이러한 권한 을 부여 하 는 위험 에 대한 설명 을 포함 해 야 합 니 다.
<permission
android:name="com.liujc.DETONATE_DEVICE"
android:protectionLevel="dangerous"
android:label="Self Destruct"
android:description="@string/detonate_description">
</permission>
8.instrumentationinstrumentation 클래스 는 프로그램 이 실 행 될 때 이벤트 나 서비스 에서 테스트 를 실행 할 수 있 는 프레임 워 크 를 제공 합 니 다.그들 은 응용 프로그램 과 시스템 자원 의 상호작용 을 감시 하 는 방법 을 제공 했다.자신의 프로그램 을 위 한 모든 테스트 클래스 에 대해 새로운 노드 를 만들어 야 합 니 다.
<instrumentation
android:label="My Test"
android:name=".MyTestClass"
android:targetPackage="com.liujc.test">
</instrumentation>
읽 어 주 셔 서 감사합니다. 여러분 에 게 도움 이 되 기 를 바 랍 니 다.본 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Bitrise에서 배포 어플리케이션 설정 테스트하기이 글은 Bitrise 광고 달력의 23일째 글입니다. 자체 또는 당사 등에서 Bitrise 구축 서비스를 사용합니다. 그나저나 며칠 전 Bitrise User Group Meetup #3에서 아래 슬라이드를 발표했...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.