Файл манифеста AndroidManifest.xml

| 23.03.2015

Любое Андроид-приложение включает в себя файл описания или файл манифеста — AndroidManifest.xml. Манифест содержит важную для операционной системы информацию о нашем приложении. Расширение xml говорит нам о том, что структура и содержание файла соответствует всем стандартам языка описания xml, т.е. он содержит набор некоторых специфичных для ОС Андроид тегов с дополнительными атрибутами. Практически все теги парные.

О чем сообщает файл AndroidManifest.xml:

1. Указывает на имя пакета, в котором находится ваше приложение (атрибут package для элемента manifest

2. Дает информацию о правах приложения, используемых для доступа к API.

3. Сообщает информацию обо всех ключевых компонентах приложения: Activity, Service, Broadcast Receiver, Content Provider

4. Указывает на входную точку приложения, т.е. тот компонент, которых должен быть запущен первым.

5. Также может включать в себя информацию и минимальном уровне API и конфигурации устройств, которые поддерживает приложение.

Разберем кратко пример одного из простых файлов AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="ru.androiddocs.navigationdrawer" >

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name=".MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

Мы видим, что корневым элементом здесь является тег manifest. Он является обязательным, поэтому содержится в любом таком файле. Этот тег имеет атрибут package, которое указывает на имя пакета «ru.androiddocs.navigationdrawer». Указав имя, ниже в описании мы уже можем ссылаться на классы приложения, опуская полное имя с пакетом.

Теги uses-permission описывают права/разрешения, которые необходимы для нормальной работы приложения. Когда пользователь устанавливает приложение, то ему показывается весь этот список прав и предлагается «разрешить» их. В данном случае, это использование доступа к интернету.

Тег application также является обязательным. В общем-то, именно он содержит в себе всю основную информацию. Разберем его атрибуты:

android:allowBackup — задает возможность бэкапа и восстановления приложения (у нас указано true)
android:icon — указывает ссылку на иконку приложения (находится в папках drawable с именем ic_launcher)
android:label — отображаемое имя приложения (берется из строковых ресурсов с ключом app_name)
android:theme — используемая тема приложения (указана ссылка на файл стилей и тему AppTheme)

Внутрь тега application помещается описание основных компонентов приложения. В нашем примере — тут имеется описание MainActivity. Обратите внимание, что мы можем указать здесь имя без пакета с точкой, т.к. в атрибутах тега manifest имя пакета уже указано.

Атрибуты Activity:

android:name — указывает на имя класса
android:label — отображаемое имя Активити для пользователя (может использоваться, например, при показе в Action Bar-e).

Описание Активити содержит описание Intent-фильтров, которые указывают на то, что это компонент с действием MAIN и категорией LAUNCHER. То есть таким образом, мы говорим о том, что это входная точка приложения и запуск нужно начинать именно с этого Активити.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*