Файл AndroidManifest.xml

Каждое приложение должно иметь файл AndroidManifest.xml (с точно таким именем) в корне каталог. В манифесте представлена ​​важная информация о приложении для системы Android, информация, которая должна быть у системы, прежде чем она сможет запустить какой-либо код приложения. Помимо прочего, манифест выполняет следующие функции:

  • Он называет пакет Java для приложения. Имя пакета служит уникальным идентификатором для приложения.
  • Он описывает компоненты приложения — действия, службы, широковещательные приемники и поставщики контента, из которых состоит приложение. Он называет классы, реализующие каждый из компонентов, и публикует их возможности (например, какие сообщения Intent они могут обрабатывать). Эти объявления позволяют системе Android знать, что это за компоненты и при каких условиях они могут быть запущены.
  • Он определяет, какие процессы будут размещать компоненты приложения.
  • Он объявляет, какие разрешения, которые приложение должно иметь для доступа к защищенным частям API и взаимодействия с другими приложениями.
  • Он также объявляет разрешения, которые требуются другим для взаимодействия с компонентами приложения.
  • В нем перечислены классы Instrumentation , которые обеспечивают профилирование и другую информацию во время работы приложения. Эти объявления присутствуют в манифесте только на время разработки и тестирования приложения; они удаляются до публикации приложения.
  • В нем декларируется минимальный уровень API Android, который требуется приложению.
  • В нем перечислены библиотеки, которые приложение должно быть связанными с.

Структура файла манифеста

На диаграмме ниже показана общая структура файла манифеста и всех элементов, которые он может содержать. Каждый элемент вместе со всеми его атрибутами полностью документируется в отдельном файле. Чтобы просмотреть подробную информацию о любом элементе, щелкните имя элемента на схеме, в алфавитном списке элементов, который следует за диаграммой, или на любое другое упоминание имени элемента.

  xml version = "1. 0 "encoding =" utf-8 "?>                            ...     ...     ...           

Все элементы, которые могут появиться в файле манифеста, перечислены ниже в алфавитном порядке. являются единственным юридическим элементом s; вы не можете добавлять свои собственные элементы или атрибуты.























Соглашения о файлах

Некоторые соглашения и правила применяются в целом ко всем элементам и атрибутам в манифесте :

Элементы
Только и являются обязательными, каждый из них должен присутствовать и может встречаться только один раз. Большинство других может встречаться много раз или не встречаться вообще, хотя, по крайней мере, некоторые из них должны присутствовать, чтобы манифест мог выполнить что-либо значимое.

Если элемент вообще что-то содержит, он содержит и другие элементы. Все значения устанавливаются через атрибуты, а не как символьные данные внутри элемента..

Элементы на одном уровне обычно не упорядочиваются. Например, элементы , и можно смешивать в любой последовательности. (Элемент является исключением из этого правила: он должен следовать за , для которого он является псевдонимом.)

Атрибуты
Формально все атрибуты являются необязательными. Однако есть некоторые, которые необходимо указать, чтобы элемент выполнял свою задачу. Используйте документацию в качестве руководства. Для действительно необязательных атрибутов в нем упоминается значение по умолчанию или указывается, что происходит в отсутствие спецификации.

За исключением некоторых атрибутов корневого элемента , все имена атрибутов начинаются с префикса android: — например, android: alwaysRetainTaskState . Поскольку префикс универсален, в документации он обычно опускается при обращении к атрибутам по имени.

Объявление имен классов
Многие элементы соответствуют объектам Java, включая элементы для самого приложения (элемент ) и его основные компоненты — действия ( ), службы ( ), приемники широковещательных сообщений ( ) и поставщики контента ( ).

Если вы определяете подкласс, как почти всегда для классов компонентов ( Activity , Service , BroadcastReceiver и ContentProvider ), подкласс объявляется через атрибут name . Название должно включать полное обозначение упаковки. Например, подкласс Service может быть объявлен следующим образом:

   .  .  .  .  .  .   

Однако, как сокращение, если первый символ строки является точкой, строка добавляется к имени пакета приложения (как указано в атрибут package элемента). Следующее назначение такое же, как и предыдущее:

   .  .  .  .  .  .   

При запуске компонента Android создает экземпляр названного подкласса. Если подкласс не указан, он создает экземпляр базового класса.

Несколько значений
Если можно указать более одного значения, элемент почти всегда повторяется, а не перечисляет несколько значений в одном элементе.. Например, фильтр намерений может перечислять несколько действий:
    .  .  .  
Значения ресурсов
Некоторые атрибуты имеют значения, которые могут отображаться для пользователей — например, метка и значок действия. Значения этих атрибутов должны быть локализованы и, следовательно, установлены из ресурса или темы. Значения ресурсов выражаются в следующем формате:

@ [ package :] type : name

где имя package можно опустить, если ресурс находится в том же пакете, что и приложение, type — это тип ресурса, такой как «строка» или «вытягиваемый», а name — это имя, которое идентифицирует конкретный ресурс. Например:

  

Значения из темы выражаются аналогичным образом, но с начальным '? ', а не ' @ ':

? [ пакет :] тип : имя

Строковые значения
Если значением атрибута является строка, двойная обратная косая черта (‘ \ ‘) необходимо использовать для экранирования символов — например,’ \ n ‘для новой строки или’ \ uxxxx ‘для символа Юникода.

Функции файла

В следующих разделах описывается, как некоторые функции Android отражаются в файле манифеста.

Фильтры намерений

Основные компоненты приложения (его действия, службы и широковещательные приемники) активируются намерениями . Намерение — это набор информации (объект Intent ), описывающий желаемое действие, включая данные, над которыми нужно действовать, категорию компонента, который должен выполнить действие, и другие соответствующие инструкции. Android находит соответствующий компонент для ответа на намерение, запускает новый экземпляр компонента, если он необходим, и передает ему объект Intent.

Компоненты рекламируют свои возможности — типы намерений, которые они могут отвечать на — через фильтры намерений . Поскольку система Android должна узнать, какие намерения может обрабатывать компонент, прежде чем запускать компонент, фильтры намерений указываются в манифесте как элементы . Компонент может иметь любое количество фильтров, каждый из которых описывает разные возможности.

Намерение, которое явно называет целевой компонент, активирует этот компонент; фильтр не играет роли. Но намерение, в котором не указано имя цели, может активировать компонент только в том случае, если оно может пройти через один из фильтров компонента..

Информацию о том, как объекты Intent проверяются на соответствие фильтрам намерений, см. в отдельном документе, Intents and Intent Filters.

Значки и метки

У ряда элементов есть атрибуты icon и label для небольшого значка и текстовой метки, которые могут отображаться пользователям. У некоторых также есть атрибут description для более длинного пояснительного текста, который также может отображаться на экране. Например, элемент имеет все три из этих атрибутов, поэтому, когда пользователя спрашивают, предоставлять ли разрешение приложению, которое его запросило, значок, представляющий разрешение, имя разрешения и описание того, что оно влечет за собой, могут быть представлены пользователю.

В любом случае значок и метка, установленные в содержащем элементе, становятся значениями по умолчанию значок и label для всех подэлементов контейнера. Таким образом, значок и метка, установленные в элементе , являются значком и меткой по умолчанию для каждого из компонентов приложения. Точно так же значок и метка, установленные для компонента — например, элемент — являются настройками по умолчанию для каждого из код> элементы. Если элемент устанавливает метку, а действие и его фильтр намерений - нет, метка приложения рассматривается как метка как для действия, так и для фильтра намерений.

Значок и метка, установленные для фильтра намерения, используются для представления компонента всякий раз, когда компонент представляется пользователю как выполняющий функцию, объявленную фильтром. Например, фильтр с настройками « android.intent.action.MAIN » и « android.intent.category.LAUNCHER » рекламирует действие как запускает приложение, то есть как то, что должно отображаться в средстве запуска приложений. Таким образом, значок и метка, установленные в фильтре, отображаются в панели запуска.

Разрешения

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

Каждое разрешение идентифицируется уникальной меткой. Часто метка указывает на действие, которое запрещено. Например, вот некоторые разрешения, определенные Android:

android.permission.CALL_EMERGENCY_NUMBERS
android.permission.READ_OWNER_DATA
android.permission.SET_WALLPAPER
android.permission.DEVICE_POWER

Компонент может быть защищен не более чем одним разрешением.

Если приложению требуется доступ к функции, защищенной разрешением, оно должно объявить, что оно требует этого разрешения, с помощью в манифесте. Затем, когда приложение установлено на устройстве, установщик определяет, предоставлять ли запрошенное разрешение, проверяя органы, подписавшие сертификаты приложения, и, в некоторых случаях, спрашивая пользователя. Если разрешение предоставлено, приложение может использовать защищенные функции. В противном случае его попытки получить доступ к этим функциям просто потерпят неудачу без какого-либо уведомления пользователя.

Приложение также может защищать свои собственные компоненты (действия, службы, широковещательные приемники и поставщики контента) с помощью разрешений. Он может использовать любые разрешения, определенные Android (перечисленные в android.Manifest.permission ) или объявленные другими приложениями. Или он может определить свое собственное. Новое разрешение объявляется с помощью элемента . Например, действие можно защитить следующим образом:

   .  .  .   .  .  .    

Обратите внимание, что в этом примере разрешение DEBIT_ACCT объявляется не только с помощью , его использование также запрашивается с элементом . Его использование должно быть запрошено, чтобы другие компоненты приложения запустили защищенное действие, даже если защита налагается самим приложением.

Если в том же примере для атрибута permission было установлено разрешение, объявленное в другом месте (например, android.permission.CALL_EMERGENCY_NUMBERS , не было бы необходимости снова объявлять его с помощью элемента . Однако все равно было бы необходимо запрашивать его использование с помощью .

Элемент объявляет пространство имен для группы разрешений, которые будут определены в коде. И определяет метку для набора разрешений (как тех, которые объявлены в манифесте с элементами , так и тех, которые объявлены где-то еще). Это влияет только на как разрешения группируются при представлении пользователю. Элемент не указывает, какие разрешения принадлежат группе; он просто дает группе имя. Разрешение помещается в группа путем присвоения имени группы разрешению атрибут permissionGroup элемента.

Библиотеки

Каждое приложение связано с библиотекой Android по умолчанию, которая включает базовые пакеты для создания приложений (с общими классами, такими как Activity, Service, Intent, View , Button, Application, ContentProvider и т. Д.).

Однако некоторые пакеты находятся в собственных библиотеках. Если ваше приложение использует код из любого из этих пакетов, его нужно явно попросить связать с ними. Манифест должен содержать отдельный элемент для имени каждой из библиотек. (Имя библиотеки можно найти в документации к пакету.)



Использование XML и файла AndroidManifest.xml

Подтвердите и увеличьте возможности.
Быть
Правительством. Сертифицированный разработчик приложений для Android

Использование XML и файла AndroidManifest.xml

XML Основы

XML означает z Extensible Markup Language. XML-документ — это упорядоченное помеченное дерево. Каждый узел дерева является элементом XML и записывается с открывающим и закрывающим тегами. Элемент может иметь один или несколько атрибутов XML. XSL — это расширяемый язык таблиц стилей, стандартный язык таблиц стилей для структурированной информации на основе DSSSL (ISO/IEC 10179) и CSS. Пространство имен XML — это набор имен XML-элементов и/или атрибутов, которые гарантированно уникальны.

XML на Android

Платформа Android, построенная на принципах открытого исходного кода, широко использует XML для хранения данных и конфигурации.

Файл AndroidManifest.xml

Он хранит данные о пакете приложения и его компонентах, таких как действия, услуги, поставщики контента, широковещательные приемники и т. д. Он защищает от незаконного доступа к защищенным частям с использованием разрешений. Он устанавливает API Android для использования и перечисляет классы инструментовки. Это очень важный XML-файл, поэтому он помещен в корневой каталог.

Образец файла AndroidManifest.xml

package=»com.javatpoint.hello»
android:versionCode=»1″
android:versionName= ” 1.0 ″>

android: minSdkVersion = ”8 ″
android: targetSdkVersion =” 15 ″/>

android: icon = ”@ drawable/ic_launcher”
android: label = ”@ string/app_name”
android: theme = ”@ style/AppTheme”>
android: name = ”. MainActivity”
android: label = ”@ string/title_activity_main”>

Это элементы

  • — корневой элемент для объявления пространства имен и атрибут пакета для имени пакета класс активности.
  • — в нем есть объявление пространства имен и подэлементы для объявления различных компонентов приложения.
  • — относится к действию. Каждое действие должно быть определено в этом XML-файле.
  • — это относится к типу намерения, на которое может ответить действие, служба или широковещательный приемник.
  • — связывает действие для фильтра намерений. Фильтр намерений должен иметь один или несколько элементов действия.
  • — добавляет имя категории к фильтру намерений.

Предлагается видео

Подайте заявку на сертификацию приложений для Android прямо сейчас !!

http://www.vskills.in /certificate/Certified-Android-Apps-Developer

Перейти к Tutorial- Учебник для сертифицированных Android-разработчиков
Оцените статью
logicle.ru
Добавить комментарий