본문 바로가기
X

앱 개발 방법 - 앱 매니페스트 파일 (앱 구성 요소)

by green post it 2022. 1. 12.
반응형

앱 구성 요소

앱에서 생성하는 각각의 앱 구성 요소에 대해 매니페스트 파일에서 해당하는 XML 요소를 선언해야 합니다.

  • <activity> Activity의 각 하위 클래스
  • <service> Service의 각 하위 클래스
  • <receiver> BroadcastReceiver의 각 하위 클래스
  • <provider> ContentProvider의 각 하위 클래스

매니페스트 파일에서 XML 요소를 선언하지 않고 이 구성 요소를 하위 클래스로 지정하면 시스템에서 이를 시작할 수 없습니다.

 

하위 클래스의 이름은 완전한 패키지 이름을 사용하여 name특성으로 지정해야 합니다. 예를 들어 Activity하위 클래스를 선언하려면 다음과 같이 할 수 있습니다.

<manifest ... >
    <application ... >
        <activity android:name="com.example.myapp.MainActivity" ... >
        </activity>
    </application>
</manifest>

그러나 name값의 첫 번째 문자가 마침표일 경우 앱의 패키지 이름(요소의 package 특성에서 얻은 이름)이 해당 이름 앞에 붙습니다. 예를 들어 다음 액티비티 이름은"com.example.myapp.MainActivity"으로 해석됩니다.

<manifest package="com.example.myapp" ... >
    <application ... >
        <activity android:name=".MainActivity" ... >
            ...
        </activity>
    </application>
</manifest>

하위 패키지(예:com.example.myapp.purchases)안에 앱 구성 요소가 있을 경우 name 값으로 누락된 하위 패키지 이름(예 : .purchases.PayActivity")을 추가하거나 완전히 자격을 충족하는 패키지 이름을 사용해야 합니다.

 

하위 클래스의 패키지 이름을 사용하여 name 특성으로 지정해야 한다.
<activity android:name="com.example.myapp.MainActivity">

name 값이 첫 번째 문자가 마침표(.)일 경우 앱의 package 특성에서 이름을 가지고 와서 이름 앞에 붙는다.
<manifest package="com.example.myapp">
<activity android:name=".MainActivity">
위 이름은 "com.example.myapp.MainActivity"으로 해석한다.
반응형