응용 프로그램 매 니 페스트 소개


 하나하나
 
Android 응용 프로그램 은 매 니 페스트 파일 인 AndroidManifest. xml 을 포함 하여 프로젝트 의 루트 디 렉 터 리 에 저 장 됩 니 다.이 파일 은 응용 프로그램의 구조 와 메타 데이터, 그리고 구성 요 소 를 정의 합 니 다.
 
 
 
구성 요소 (Activity, Service, Content Provider, Broadcast Receiver) 의 노드 를 포함 하 며, 이 구성 요소 들 은 전체 응용 프로그램 을 구성 합 니 다.또한 Intent Filter 와 Permission 을 사용 하여 서로 영향 을 주 고 다른 프로그램 에 미 치 는 영향 을 결정 합 니 다.
 
응용 프로그램의 메타 데이터 (icon 이나 theme 등) 를 지정 하 는 기능 도 제공 합 니 다. 또한 고 층 노드 를 제공 하여 안전 설정 과 유닛 테스트 를 제공 합 니 다.다음 설명:
manifest 파일 은 < manifest / > 탭 을 루트 로 하고 패키지 특성 을 포함 하여 프로젝트 의 패키지 이름 을 설정 합 니 다.이것 은 보통 xmlns: android 특성 을 포함 하여 네 임 스페이스 를 가 져 오고 시스템 특성 을 제공 합 니 다.다음 XML 세 션 과 같은 전형 적 인 manifest 노드
 
<manifest xmlns:android=http://schemas.android.com/apk/res/android

package=”com.my_domain.my_app”>

[ ... manifest nodes ... ]

</manifest>

 
 
< manifest / > 탭 은 응용 프로그램의 구성 부분 들 의 노드 를 포함 합 니 다. 응용 프로그램의 구성 요소, 보안 설정 과 테스트 클래스 입 니 다.아래 목록 은 매 니 페스트 탭 노드 의 개요 와 XML 세 션 의 프 리 젠 테 이 션 을 보 여 줍 니 다.
 
❑ application
manifest 파일 은 하나의 application 노드 만 포함 할 수 있 습 니 다.특성 설정 을 통 해 프로그램의 title, icon, theme 등 메타 데 이 터 를 가 리 킵 니 다.또한 Activity, Service, Content Provider, Broadcast Receiver 를 수용 하 는 용기 로 도 표현 할 수 있다.
 
<application android:icon=”@drawable/icon”

android:theme=”@style/my_theme”>

[ ... application nodes ... ]

</application>

 
 
❑ activity
프로그램 에 표 시 된 Activity 는 activity 탭 을 정의 해 야 합 니 다. android: name 특성 을 통 해 클래스 이름 을 지정 합 니 다.이것 은 Activity 를 시작 하 는 것 과 다른 화면 이나 대화 상자 에 사용 되 는 Activity 를 포함해 야 합 니 다.manifest 에서 정의 되 지 않 은 Activity 를 시작 하려 고 시도 하면 실행 중 이상 을 일 으 킬 수 있 습 니 다.모든 Activity 노드 는 intent - filter 하위 탭 을 지원 하여 어떤 Intents 가 Activity 를 시작 하 는 지 지정 합 니 다.
 <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>

 
 
❑ service
activity 태그 와 마찬가지 로 프로그램 에 사용 되 는 Service (Service 의 세부 사항 은 8 장 설명) 클래스 에 service 탭 을 정의 합 니 다.service 탭 역시 Intents - filter 하위 탭 을 지원 합 니 다. 나중에 실 행 될 때의 바 인 딩 을 허용 합 니 다.
<service android:enabled=”true” android:name=”.MyService”></service>

  
 
 
❑ provider
provider 탭 은 프로그램의 Content Provider 를 표시 하 는 데 사 용 됩 니 다.Content Provider 는 데이터베이스 의 액세스 와 응용 프로그램 간 의 공 유 를 관리 하 는 데 사 용 됩 니 다 (제6 장 에서 연습 이 있 습 니 다).
 
<provider android:permission=”com.paad.MY_PERMISSION”

android:name=”.MyContentProvider”

android:enabled=”true”

android:authorities=”com.paad.myapp.MyContentProvider”>

</provider>

 
 
❑ receiver
receiver 탭 을 추가 하면 프로그램 이 시작 되 기 전에 Broadcast Receiver 를 등록 할 수 있 습 니 다.5 장 에서 보 듯 이 Broadcast Receiver 는 전체 이벤트 감청 자 처럼 등록 하면 응용 프로그램 이 해당 하 는 Intents 를 방송 할 때 실 행 됩 니 다.manifest 에 Broadcast Receiver 를 등록 하면 해당 Intent 가 방송 되면 프로그램 이 자동 으로 시작 되 고 등 록 된 Broadcast Receiver 가 실 행 됩 니 다.
 
<receiver android:enabled=”true”

android:label=”My Broadcast Receiver”

android:name=”.MyBroadcastReceiver”>

</receiver>

 
 
❑ uses-permission
보안 모델 의 일부분 으로서 uses - permission 라벨 은 응용 프로그램 이 올 바 르 게 작 동 하 는 데 필요 한 권한 수 여 를 밝 혔 다.이 권한 수 여 는 설치 기간 에 사용자 가 조작 할 권리 가 있 는 지 를 포함한다.장치 자체 에 포 함 된 많은 안 드 로 이 드 서 비 스 는 권한 을 부여 해 야 한다. 특히 돈 을 쓰 거나 안전 과 관련 된 서비스 (예 를 들 어 전화, SMS 를 받 거나 로 컬 서 비 스 를 사용 하 는 등) 가 필요 하 다.다음 과 같이 제3자 프로그램 은 공 유 된 프로그램 구성 요소 의 사용 권한 을 제공 하기 전에 권한 을 지정 할 수 있 습 니 다.
 
 <uses-permission android:name=”android.permission.ACCESS_LOCATION”>

</uses-permission>

 
 
❑ permission
응용 프로그램 구성 요소 의 사용 을 제한 하기 전에 manifest 파일 에서 인증 서 를 정의 해 야 합 니 다.permission 태그 로 인증 정 의 를 만 듭 니 다.응용 프로그램 구성 요 소 는 android: permission 특성 을 추가 해서 사용 합 니 다.다른 프로그램 은 보호 되 는 구성 요 소 를 사용 하기 전에 각각의 manifest 파일 에 uses - permission 을 포함 해 야 합 니 다.
permission 탭 을 사용 하면 권한 을 수 여 받 은 등급 (normal, dangerous, signature, signature OrSystem), 탭 과 설명 (외부 자원 에 정 의 된 문자열, 권한 을 수 여 받 은 위험 설명) 등 을 지정 할 수 있 습 니 다.
 
<permission android:name=”com.paad.DETONATE_DEVICE”

android:protectionLevel=”dangerous”

android:label=”Self Destruct”

android:description=”@string/detonate_description”>

</permission>

 
 
❑ instrumentation
Instrumentation 클래스 는 실행 시 Activity 와 Service 를 테스트 하 는 데 프레임 워 크 를 제공 합 니 다.그들 은 응용 프로그램 과 시스템 자원 의 상호작용 을 감시 하기 위해 갈 고 리 를 제공 했다.프로그램 에서 정의 하 는 테스트 클래스 에 노드 를 만 듭 니 다.
 
<instrumentation android:label=”My Test”

android:name=”.MyTestClass”

android:targetPackage=”com.paad.aPackage”>

</instrumentation>

 
 
manifest 와 각 노드 에 대한 자세 한 설명 은 다음 과 같 습 니 다.
http://code.google.com/android/devel/bblocks-manifest.html
 
ADT 의 새 프로젝트 마법사 가 새 프로젝트 를 만 드 는 동시에 자동 으로 manifest 파일 을 만 들 었 습 니 다.프로그램 에 새 구성 요 소 를 가 져 올 때 만 manifest 파일 로 돌아 갑 니 다.

좋은 웹페이지 즐겨찾기