Android 기초

2023. 8. 29. 09:39·Android
728x90

Flutter 하다가 갑자기 Android 프로젝트를 들어가 정리를 해둔다 ..

 

1. Package name and Application Id

매니페스트 파일의 Root element() 에는 해당 앱의 패키지 네임이 반드시 기재되어야 gksek

"com.ready.example" 이라는 패키지 네임의 manifest 파일
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.ready.test"
    android:versionCode="1"
    android:versionName="1.0" >
</manifest>
여기서 manifest의 패키지 네임은 우리가 앱을 빌드하여 APK 를 추출하는 과정에서 Android Build Tool 에 의해 다음 2가지 목적으로 사용된다.

App Resource 에 접근하는데 사용되는 R 클래스의 네임스페이스로 적용이 된다. 위 예에서는 com.ready.test.R 클래스가 생성된다.
매니페스트 파일 내에서 선언된 상대경로에 적용됩니다.
예를 들어 \<activity android:name=".MainActivity> 라고 선언했다면 이는 "com.ready.example.MainActivity" 를 가리키게 된다.

 

2. App Components

4대 컴포넌트(Activity, Service, Broadcast Receiver, Content Provider), 이 컴포넌트들을 앱에서 사용한다면 매니페스트 파일에 등록해줘야 한다. Manifest 파일 내에서 각각 다음 태그를 통해 선언할 수 있다.

  • <activity> : Activity
  • <service> : Service
  • <receiver> : Broadcast Receiver
  • <provider> : Content Provider

4대 컴포넌트들은 각각 인텐트에 의해 활성화된다.
여기서 인텐트란 메세지 객체로, 어떤 행동을 수행할지에 대한 명령이나 작업에 필요한 데이터를 포함한다.

 

3. Permissions

안드로이드 앱은 민감한 유저 정보나 카메라나 인터넷 등 특정 시스템 기능을 사용할 때 반드시 권한을 요청한다.

앱에서 필요한 권한을 AndroidManifest.xml 파일에 등록을 해야 합니다.  문법은

<uses-permission android:name="string" android:maxSdkVersion="integer" />

과 같이 작성 한다.

Parameters
android:name 요청하려는 권한의 이름.
android:maxSdkVersion 권한이 필요한 최고 레벨 값. (“21” 이라면 API 레벨 21까지만 필요하고 22 이상은 필요 없다는 의미)

 

실제 사용 예를 들면 아래처럼 입력하면 됩니다.

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" android:maxSdkVersion="18" />

 

4. Device Compatibility(적합성)

Manifest 파일에는 앱이 필요로 하는 하드웨어나 소프트웨어 특징을 명시할 수 있다.

예를 들어, 카메라 앱을 만들 경우에 카메라가 필수로 있어야 하니 카메라가 있는 기기에서만 Play Store 에서 해당 앱이 다운로드 될 수 있도록 명시하는 것.

예시) compass sensor가 있는 기기에서만 다운로드 가능하게 하기위함
<manifest ... >
    <uses-feature android:name="android.hardware.sensor.compass"
                  android:required="true" />
    ...
</manifest>
728x90
LIST

'Android' 카테고리의 다른 글

Android - Garbage Collection(GC)  (2) 2023.11.08
Android - Manifest & Components  (0) 2023.11.08
Android Layout  (1) 2023.09.04
안드로이드 Activity 생명주기  (0) 2023.08.29
Android 4대 컴포넌트  (0) 2023.08.29
'Android' 카테고리의 다른 글
  • Android - Manifest & Components
  • Android Layout
  • 안드로이드 Activity 생명주기
  • Android 4대 컴포넌트
Mr. Joo
Mr. Joo
  • Mr. Joo
    삽질의 시작
    Mr. Joo
  • 전체
    오늘
    어제
    • 분류 전체보기 (177) N
      • Flutter (67)
      • Android (9)
      • Swift (4)
      • React (11)
      • 인공지능 (4)
      • CS (10)
      • 개발 뉴스 (69) N
      • IT 기기 (1)
      • 알면 유용한 정보 (2)
  • 인기 글

  • 태그

    개발
    Dart 기초
    react
    기술
    개발 이슈
    Flutter
    플러터
    DART
    이슈
    android
    오늘의 이슈
    Flutter 기초
    앱
    앱 개발
    뉴스 모음
    기술 뉴스
    개발 뉴스
    오늘의 뉴스
    앱개발
    뉴스
  • 최근 댓글

  • 최근 글

  • 250x250
  • hELLO· Designed By정상우.v4.10.3
Mr. Joo
Android 기초
상단으로

티스토리툴바