일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- JS
- javaSrcript
- bottomNav
- itemBackground
- Redux
- redux/toolkit
- Dialog
- framework
- 옵션메뉴꾸미기
- 코틀린
- readAsDataURL
- 커스텀옵션메뉴
- state_checked
- JavaScript
- Menu
- 팝업메뉴 꾸미기
- nodejs
- 안드로이드
- hoos
- Hooks
- ContextAPI
- Android
- 메뉴클릭
- 팝업메뉴
- custom
- 리액트
- 자바스크립트
- toolkit
- Node
- react
- Today
- Total
대기업을 향한 디벨롭 블로그
AndroManifest의 구조,개념 본문
AndroidManifest의 파일에대한 구조를 알아보자 이 파일은 app폴더안 manifests폴더안에 들어있다.
Manifest는 앱에대한 구성요소, 권한 셋팅정보들이 들어있는 파일이다.
공식사이트의 manifest https://developer.android.com/guide/topics/manifest/manifest-intro?hl=ko
앱 매니페스트 개요 | Android 개발자 | Android Developers
앱 매니페스트 개요 모든 앱 프로젝트는 프로젝트 소스 세트의 루트에 AndroidManifest.xml 파일(정확히 이 이름)이 있어야 합니다. 매니페스트 파일은 Android 빌드 도구, Android 운영체제 및 Google Play에
developer.android.com
먼저 구조를 보면
맨 상위인 <manifest> 가 있고 그 아래에 중첩구조로
<manifest>
- <application> (앱을 구성하는 요소들)
- <uses-permission> (앱의 권한)
- <uses-feature> (기기의 호환성)
</manifest>
가 있다.
먼저 <manifest>를 살펴보면
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.example.postmanifest">
앱의 패키지이름은 package="com.example.postmanifest" 가있다. postmanifest가 패키지 이름이다.
다음 <application>컴포넌트는 액티비티, 서비스, 컨텐트프로바이더, 브로드캐스트리시버를 구성한다.
기본적으로 구성되있는걸 살펴보면
allowBackup -> 백업을 허용할거냐 (애플리케이션이 백업 및 복원 인프라에 참여하도록 허용할지 여부입니다. 이 속성을 false로 설정하면 모든 애플리케이션 데이터가 adb를 통해 저장되는 전체 시스템 백업에 의해서도 애플리케이션의 백업 또는 복원이 실행되지 않습니다. 이 속성의 기본값은 true입니다.)
dataExtractionRules -> 앱의 백업이나 전송 작업의 일부로 기기에서 복사할 수 있는 파일과 디렉터리를 결정하는 규칙을 지정한 XML리소스를 이 속성으로 설정할 수 있음
android:fullBackupContent -> 자동 백업용으로 전체 백업 규칙이 포함된 XML파일을 가리킨다. 이 XML파일의 백업규칙에 따라 대상파일이 결정됨.
android:icon -> 앱의 아이콘을 뜻함 @drawble에서 아이콘을 직접 설정해주어야됨. 기본으로는 ic_launcher로 되어있음
android:label -> 앱의 제목임
android:roundIcon -> 앱의 아이콘이 동그랗게 표현되는 상황에서 쓰이는 아이콘
android:supportsRtl -> Rtl이 (Rigth to Left)인데 애플리케이션이 오른쪽에서 왼쪽 레이아웃을 지원하냐
android:theme -> 안드로이드의 테마를 뜻함 모든스타일의 테마를 여기서 참조함.
다음은 <activity>
여기는 activity의 정보들을 모아놓았다.
android:name -> Activity의 이름을 적어준다. 즉 class이름을 적어줌
android:exported -> ture인경우 모든앱에서 클래스이름으로 활동가능 <intent-filter>를 가지고있다면 true가 필수이다. 기본값도 true , false인경우 <intent-filter>가 없는경우 예를들어 MAIN액티비티가 아닌경우는 기본값이 false 즉 사용자가 활동을 하여야 볼 수있음
다음은 <intent-filter>
<activity>가 <intent-filter>를 가지고있으면 MAIN액티비티이다. 여기서 MAIN액티비티는 이름이 Main이 아니라 앱이 처음실행될때 나타내는 MAIN을 뜻한다.
<intent-filter>에는
- <action> -> 필수
- <category> -> 포함가능
<action name = "android.intent.action.MAIN"> -> 액티비티를 MAIN으로 사용하겠다는 뜻이다.
<category android:name="android.intent.category.LAUNCHER" /> -> 이코드가 액티비티를 앱을 실행할때 처음으로 나타나게한다. 위 action과 category는 짝꿍이라고 볼 수 있다.
이렇게 기본적인 manifest를 살펴봤다. 일단 중요한건 ↓ 이거고
<manifest>
- <application> (앱을 구성하는 요소들)
- <uses-permission> (앱의 권한)
- <uses-feature> (기기의 호환성)
</manifest>
설정할 수 있는 것들이 엄청많다. 나도 공식사이트에서 보면서 공부했다.
절대 다 외우진못하니 이런것도있고 , 저런것도있고 하면서 보다보면 나중에 필요하면 무조건 생각난다. ㅋㅋ
'나는안드로이드개발자' 카테고리의 다른 글
팝업메뉴2장 팝업메뉴 꾸미기 커스텀 ContextThemeWrapper (상세설명) (0) | 2022.06.19 |
---|---|
당근마켓 UI (0) | 2022.06.18 |
안드로이드 폰트 변경하기 font Change (일괄변경) (0) | 2022.06.17 |
RecyclerView , Dialog , WebView 응용하기 (0) | 2022.06.16 |
Dialog 다이어로그 창 만들기(팝업창) 안드로이드 코틀린 (0) | 2022.06.15 |