- Today
- Total
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 재능이의 돈버는 일기
- StresslessLife
- K_JIN2SM
- 소소한 일상
- My Life Style & Memory a Box
- Blog's generation
- 공감 스토리
- 취객의 프로그래밍 연구실
- Love Me
- Dream Archive
- 세상에 발자취를 남기다 by kongmingu
- hanglesoul
- 카마의 IT 초행길
- 느리게.
- 미친듯이 즐겨보자..
- Joo studio
- Gonna be insane
- 악 다 날아갔어!! 갇대밋! 왓더...
- xopowo05
- 맑은공기희망운동
- 엔지니어 독립운동
- 혁준 블로그
- Simple in Complex with Simple
- 무의식이 의식을 지배한다
드럼치는 프로그래머
[안드로이드] 매니페스트파일 설정(AndroidManifest.xml) 본문
안드로이드 매니페스트 파일은 안드로이드 어플의 이름,버전,구성요소들,권한등을 설정할 수 있는
반드시 존재해야 하는 xml 형태의 파일로서 안드로이드 프로젝트의 최상위에 위치한다.
안드로이드 매니페스트 파일에서 설정할 수 있는 사항
- 안드로이드 어플의 신원관리
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.androidbook.test_1"android:versionCode="1"
android:versionName="1.0"> - 안드로이드 어플의 이름과 아이콘 등록
<application android:icon="@drawable/icon"
android:label="@string/app_name">
- Activity등의 안드로이드 어플의 구성요소 등록
<activity android:name=".testAndroidApp_CA"
android:label="@string/app_name">
- 안드로이드 어플에서 특정 Activity를 주 진입점으로 지정
<activity android:name=".testAndroidApp_CA"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
- 기타 Intent filter 설정
운영체제가 보내는 Intent 중에서 해당 어플의 Activity 에 적용되는 것을 지정한다.
반드시 <action> 요소가 있어야 하며, <category> 요소와 <data> 요소가 있을 수도 있다.
<activity android:name=".testAndroidApp_CA"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
또다른 예
<intent-filter>
<action android:name="android.intent.action.VIEW" /> --> 특정 콘텐트의 내용을 표시하는 기능
<category android:name="android.intent.category.BROWSABLE" />
<category android:name="android.intent.category.DEFAULT" />
<data android:scheme="geoname" /> -->geoname:// 으로 시작하는 Uri Intent 가 전달 되면
이 Activity가 시동
</intent-filter>
- 서비스와 방송 수신자 등록
서비스는 <service> 요소로, 방송수신자는 <receiver> 요소로 등록한다. intent filter 사용이 가능하다.
- 콘텐츠 제공자 등록
<provider> 요소
- 안드로이드 어플에 필요한 권한 등록
어플이 기능하는데 있어서 꼭 필요한 권한들이 설치시에 사용자에게 제시된다.
어플의 설치시에 어플에 권한이 부여된다.
<uses-permission android:name="android.permission.CAMERA" /> --> 어플이 내장카메라에 대한 접근을 요청
- 안드로이드 어플이 다른 안드로이드 어플에 허락하는 권한 등록
<permission 요소>
- 안드로이드 어플에 필요한 H/W,S/W 입력 구성 등록
단일 속성에서 여러 값을 지정 할수는 없다.
만일 하드웨어 키보드를 요구하고 감압식 터치스크린 또는 정전식 터치스크린을 요구한다면
다음과 같이 두개의 <uses-configuration> 요소를 명시해야 한다.
<uses-configuration android:reqHardKeyboard="true" android:reqTouchScreen="finger" />
<uses-configuration android:reqHardKeyboard="true" android:reqTouchScreen="stylus" />
[속성]
android:reqFiveWayNav : 방향 패드,트랙볼,네비게이션 휠등의 5방향 컨트롤을 요구하는지 여부 (true/false)
android:reqHardKeyboard : 하드웨어 키보드를 요구하는지 여부 (true/false)
android:reqkeyboardType : 키보드 종류(하드웨어또는 소프트웨어)
undefined(기본값)
nokeys (키보드 필요없음)
qwerty(표준 QWERT 키보드 필수)
twelvekey (12키패드 필수)
android:reqNavigation : 어플이 요구하는 네비게이션 장치 종류
undefined (기본값)
nonav(네비게이션 장치 필요없음)
dpad(방향패드 필수)
trackball (트랙볼 필수)
wheel(네비게이션 휠 필수)
android:reqTouchScreen : 필요한 터치스크린의 종류
undefined (기본값)
notouch(터치패드 필요없음)
stylus(감압식 터치스크린 필수)
finger(정전식 터치스크린 필수)
- 최소 안드로이드 SDK 버전 지정
<uses-sdk android:minSdkVersion="2" />
- 다른 패키지 등록
<uses-library android:name="com.mylibrary.stuff" />
- 기타 설정
<instrumentation >요소
이클립스에 안드로이드 플러그인(ADT)를 설치한 경우 새로운 프로젝트를 생성하면
자동으로 기본적인 AndroidManifest.xml 파일을 생성시켜 주는데 다음과 같다.
(이클립스 ADT 에서 제공하는 편집기를 사용해도 된다.)
[기본 AndroidManifest.xml]
<?xml version="1.0" encoding="utf-8"?> <application android:icon="@drawable/icon" --> 어플의 아이콘 설정 (/res/drawable/icon 파일이다.png,gif,jpg,48x48) android:label="@string/app_name"> --> 어플의 이름 설정 (/res/values/string.xml문서의 string/app_name 이라는 문자열 자원에 저장되어 있다.) </application> </manifest> |
[/res/values/string.xml]
<?xml version="1.0" encoding="utf-8"?> <resources> <string name="hello">Hello World, testAndroidApp_CA!</string> <string name="app_name">testAndroidApp</string> </resources> |
가장 기본적인 HELLO WORLD 의 안드로이드 매니페스트 설정의 예이다.
'★─Programing > ☆─Android' 카테고리의 다른 글
[안드로이드] AIDL을 이용한 외부프로세스간 통신 (4) | 2013.04.19 |
---|---|
[안드로이드] Android Service 및 AIDL (0) | 2013.04.19 |
[안드로이드] 부팅시점에 안드로이드 서비스 시작 (0) | 2013.04.01 |
[안드로이드] Notification (안드로이드 알림) (0) | 2013.04.01 |
[안드로이드] Remote Service 사용하기 (0) | 2013.04.01 |