설.현.아빠
AndroidManifest.xml 정보 본문
<manifest> ==> 응용 프로그램에 필요한 권한 등록. <uses-permission /> ==> 응용 프로그램에 필요한 권한 등록. <permission /> ==> 응용 프로그램이 다른 응용 프로그램에게 허락하는 권한들을 등록. <permission-tree /> ==> 권한 트리 등록. <permission-group /> ==> 권한 그룹 등록. <instrumentation /> ==> 응용 프로그램과 시스템 리소스와의 상호작용을 모니터링하는데 유효. <uses-sdk /> ==> 응용 프로그램을 어느 버전의 안드로이드 환경에서 사용할 수 있는지 설정. <uses-configuration /> ==> 응용프로그램에 필요한 모든 하드웨어 및 소프트웨어 입력 구성을 정의. <uses-feature /> ==> 응용 프로그램에서 사용되는 특정 Feature를 설정. <supports-screens /> ==> 응용 프로그램에서 지원하는 화면 크기를 설정. <application> ==> 응용 프로그램의 이름과 아이콘을 설정. <activity> ==> 응용 프로그램의 모든 액티비티를 각각 하나의 <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 /> <path-permission /> <meta-data /> </provider>
<uses-library /> ==> 표준 패키지 외에 지도 서비스처럼 추가로 연동되는 다른 패키지들을 링크. </application> </manifest> |
||
** pacakage = "com.hardrock.helloworld"
응용 프로그램의 패키지 이름.
** android:versionCode = "1"
응용 프로그램의 버전 부호로, 안드로이드 운영체계가 응용 프로그램 업그레이드를 관리하기 위해 사용하는 번호이다.
개발자는 응용 프로그램의 새 업데잍를 만들 때 마다 버전 부호를 증가시켜야 한다.
** android:versionName = "1.0"
응용 프로그램의 버전 이름으로, 사용자가 안드로이드 기기에서 응용 프로그램을 관리할 때, 그리고 시장에서 응용 프로그램을 내려받을 때 표시되는 버전정보.
버전을 어떻게 붙일지는 개발자의 몫이다. 예를 들어, 카메라가 있는 모델은 "1.0.0.C."로, 카메라가 없는 모델은 "1.0.0.NC"로 구별하여 이름 관리.
** <uses-permission android:name="android.permission.XXX" />
응용프로그램의 권한 설정 요소로, 응용 프로그램이 특정 기능을 사용해야 한다면 해당 접근 권한들을 안드로이드 메니페스트 파일에 명시해야 한다.
응용 프로그램 설치 시에 응용프로그램의 실행에 필요한 권한들이 사용자에게 제시되는데, 사용자가 그것들을 허락해야만 설치가 진행된다.
따라서 응용 프로그램에서 꼭 필요한 권한들만 요청하는 것이 바람직하다.
요청가능한 권한들은 모두 android.Manifest.permission클래스에 정의되어 있다.
ACCESS_FINE_LOCATION -> GPS 위치 추적 니으에 필요한 권한. BLUTOOTH -> 블루투스를 연결할 수 있도록 허락하는 권한. CALL_PHONE -> Dialer로 전화를 걸 수 있도록 허락하는 권한. INTERNET -> 인터넷 접속 권한. 이를 통해 지도를 가져온다. CAMERA -> 내장 카메라 접근 권한. RECEIVE_SMS -> 문자 메시지 수신 기능을 허락하는 권한. SEND_SMS -> 문자 메시지 전송 기능을 허락하는 권한. VIBRATE -> 진동 기능을 허락하는 권한. ...등등 |
||
** <application android:icon="@drawable/icon" android:label="@string/app_name">
응용프로그램에서 사용할 아이콘과 응용 프로그램의 이름을 정의한다.
아이콘은 PNG 파일 포맷이고, /res/drawable/icon.png 폴더에 저장된다.
응용프로그램의 이름은 액티비티가 화면에 떴을 때 가장 위에 표시된다.
** <activity android:name=".HelloWorldActivity" android:label="@string/app_name">
액티비티(Activity)의 이름을 정의한다.
** <Intent-filter>
각 액티비티 노드는 그 액티비티를 언제 띄워야 하는지 안드로이드에게 알려주는 인텐트 필터를 선언한다.
** <action android:name="android.intent.action.MAIN" />
안드로이드는 응용 프로그램을 시작할 때 MAIN Action을 선언한 액티비티를 찾는다.
즉, MAIN Action을 선언한 액티비티가 가장 먼저 실행됨을 안드로이드에 알려준다.
** <category android:name="android.intent.category.LAUNCHER" />
이 액티비티와 응용 프로그램의 아이콘을 실행 가능한 응용 프로그램 메뉴 중에 표시하게 된다.
즉, 사용자가 이 응용 프로그램을 User Menu에서 보고 시작하게 하고 싶기 때문에 Category 값을 LAUNCHER로 설정한다.
** <uses-sdk android:minSdkVersion="7" />
최소 안드로이드 SDK 버전으로, 안드로이드는 현재도 개선 중이기 때문에 계속 새로운 버전이 출시될 것이다.
API Level은 안드로이드 SDK의 새 버전이 나올 때마다 증가한다.
응용프로그램 설치 시, 안드로이드 기기가 지원하는 SDK 버전이 응용 프로그램의 최소 SDK 버전보다 낮으면 응용프로그램이 설치되지 않으므로,
자신의 응용프로그램이 최대한 많은 단말기와 호환되게 하고 싶다면 최소 SDK 버전을 최대한 낮게 설정하는 것이 좋다.
*. 추가기능
손가락 터치만으로 입력을 받도록 설정하려면 아래와 같이 선언하면 된다.
(정전식)
<uses-configuration android:reqTouchScreen="finger" />
(감압식)
<uses-configuration android:reqTouchScreen="stylus" />
이외에도 D-pad, Track Ball, navi key, Wheel, Hard Keyboard...를 설정할 수도 있다.
[ 참조 : 시작하세요!안드로이드 프로그래밍(Android SDK2.0 내용추가) page.97 ]
'안드로이드 > AndroidManifest' 카테고리의 다른 글
AndroidManifest.xml 자세한 설명 (0) | 2011.02.11 |
---|---|
[링크스크랩] Permission설정 방법 (0) | 2011.02.11 |