Android manifest что это такое

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

Файл манифеста AndroidManifest.xml предоставляет основную информацию о программе системе. Каждое приложение должно иметь свой файл AndroidManifest.xml. Редактировать файл манифеста можно вручную, изменяя XML-код или через визуальный редактор Manifest Editor (Редактор файла манифеста), который позволяет осуществлять визуальное и текстовое редактирование файла манифеста приложения.

Назначение файла

  • объявляет имя Java-пакета приложения, который служит уникальным идентификатором;
  • описывает компоненты приложения — деятельности, службы, приемники широковещательных намерений и контент-провайдеры, что позволяет вызывать классы, которые реализуют каждый из компонентов, и объявляет их намерения;
  • содержит список необходимых разрешений для обращения к защищенным частям API и взаимодействия с другими приложениями;
  • объявляет разрешения, которые сторонние приложения обязаны иметь для взаимодействия с компонентами данного приложения;
  • объявляет минимальный уровень API Android, необходимый для работы приложения;
  • перечисляет связанные библиотеки;

Общая структура манифеста

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

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

Описание

Элемент является корневым элементом манифеста. По умолчанию Eclipse создает элемент с четырьмя атрибутами:

Атрибуты

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

android:name название разрешения android:label имя разрешения, отображаемое пользователю android:description описание разрешения android:icon значок разрешения android:permissionGroup определяет принадлежность к группе разрешений android:protectionLevel уровень защиты

Элемент запрашивает разрешение, которые приложению должны быть предоставлены системой для его нормального функционирования. Разрешения предоставляются во время установки приложения, а не во время его работы.

android:name имеет единственный атрибут с именем разрешения android:name. Это может быть разрешение, определенное в элементе

данного приложения, разрешение, определенное в другом приложении или одно из стандартных системных разрешений, например: android:name=»android.permission.CAMERA» или android:name=»»android.permission.READ_CONTACTS»

Наиболее распространенные разрешения

  • INTERNET — доступ к интернету
  • READ_CONTACTS — чтение (но не запись) данных из адресной книги пользователя
  • WRITE_CONTACTS — запись (но не чтение) данных из адресной книги пользователя
  • RECEIVE_SMS — обработка входящих SMS
  • ACCESS_COARSE_LOCATION — использование приблизительного определения местонахождения при помощи вышек сотовой связи или точек доступа Wi-Fi
  • ACCESS_FINE_LOCATION — точное определение местонахождения при помощи GPS

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

определяет имя для набора логически связанных разрешений. Это могут быть как объявленные в этом же манифесте с элементом

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

Источник

Структура AndroidManifest.xml

AndroidManifest.xml – это так называемый «паспорт» любого приложения для ОС Android. Данный файл полностью описывает структуру, составляющие приложения и его требования. «Манифест» нужен любому приложению и для создания любой программы под Android его нужно составить правильно.

Существует официальная документация с описанием структуры файла AndroidManifest.xml, однако она достаточно объемная и сложная для восприятия, кроме того – на английском языке, так что мы постараемся изложить всю необходимую информацию в удобоваримой форме.

Итак, AndroidManifest.xml находится в корневой директории приложения и всегда имеет именно такое имя. Всё содержимое данного файла в теге — это корневой тег «манифеста». Например:

Package – название данного программного пакета.

VersionCode – версия приложения (значение может быть использовано для внутренних нужд).

VersionName – значение версии, которое показывается пользователю.

Все остальные теги находятся внутри тега , и основные из них мы сейчас и рассмотрим.

Тег Uses-sdk содержим параметры, которые указывают на необходимую для работоспособности приложения версию SDK. Возможны такие параметры:

minSDKVersion — минимально допустимая версия SDK, чтобы запустить программу.

targetSDKVersion – «целевая» версия SDK, проще говоря – на данной версии проводилось тестирование приложения.

maxSDKVersion – верхняя допустимая версия SDK для работы приложение. Если нет стопроцентной уверенности в том, что на более новых версиях SDK приложение не будет работать, то данный параметр лучше не использовать вовсе.

Как видно, минимальная версия SDK – четвертая, а тестирование проводилось на пятой.

Тег Uses-Configeration определяет компбинацию допустимых методов ввода для приложения. Возможны следующие параметры:

reqFiveWayNav – приложение будет требовать от устройства возможность навигации в четырех направлениях плюс нажатие (это, к примеру, оптический или пятипозиционный джойстик). Возможные значения: true, false.

reqHardKeyboard – приложение будет требовать обязательное наличие аппаратной клавиатуры. Возможные значения: true, false.

reqKeyboardType — требование приложения к типу клавиатуры, которое распространяется как на программную (сенсорную), так и на аппаратную клавиатуру. Значения:

undefined – значение по умолчанию, означает, что приложение не требует клавиатуру.

nokeys – аналогично предыдущему, приложение не требует клавиатуру.

twelvekey – приложение требует 12-символьную стандартную «телефонную» клавиатуру.

qwerty – приложение требует полную клавиатуру с раскладкой qwerty.

reqNavigation – требования приложения к возможным способам навигации на девайсе (трекбол, джойстик, колесико). Допустимые значения:

undefined – значение по умолчанию. У приложения к способу навигации требований нет.

nonav – у приложения к способу навигации требований нет.

dpad – приложению требуется D-pad для работы.

trackball – приложению нужен трекбол.

wheel – приложению требуется колесо навигации.

reqTouchScreen – обязательно наличие сенсорного экрана. Допустимые значения:

undefined – значение по умолчанию, наличие сенсорного экрана не требуется.

notouch – наличие сенсорного экрана не требуется.

stylus – необходим сенсорный экран резистивного типа (управляемый стилусом).

finger – необходим сенсорный экран емкостного типа (управляемый пальцем).

Тег User-Feature определяет необходимые аппаратные и программные возможности устройства. Полный список всех допустимых требований приведен в официальной документации для AndroidManifest.xml — http://developer.android.com/guide/topics/manifest/uses-feature-element.html#features-reference.

Для примера, требование приложением обязательного наличия камеры в устройстве:

Данный тег определяет поддерживаемые приложением разрешения экрана. Можно указать несколько параметров в качестве допустимых разрешений экрана. Допустимые параметры:

Читайте также:  Как включить шумоподавление эирподс андроид

smallScreens – приложение поддерживает нестандартные и малые разрешения дисплея (такие как HVGA, QVGA).

normalScreens – приложение поддерживает стандартные разрешения (такие как HVGA, WVGA, WQVGA).

largeScreens – приложение поддерживает устройства с высокой разрешающей способностью дисплея.

anyDensity – допустимо любое разрешение экрана.

Значения для всех параметров false или true.

Тег Application – один из основных. Здесь описываются такие параметры приложения, как его название, иконка, ссылка на пользовательский интерфейс и много чего еще. Кроме того, данный тег – это контейнер для других тегов, которые описывают те или иные компоненты программы, в том числе Service, Activity, Content Provider и Broadcast Receiver. О компонентах APK мы уже говорили в другом материале.

Источник

AndroidManifest.xml — что это и зачем он нужен?

Когда вы создаете новое приложение, в корне вашего проекта автоматически создается файл AndroidManifest.xml. AndroidManifest.xml — это необходимый файл в любом проекте. Он определяет глобальные значения для вашего пакета, в нем вы описываете, что находится внутри вашего приложения — деятельности, сервисы и тд. Вы так же определяете, как все эти элементы взаимодействуют с Андроид. Например, какие виды данных может перехватывать ваша программа. Должна ли она отображаться в главном меню вашего телефона и тд.

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

Кроме того, объявляя в вашем приложении деятельности, провайдеры содержимого, сервисы, нарения и фильтры намерений, вы так же можете указать огранияения и инструменты (управление безопасностью и тестирование).

Простой пример AndroidManifest.xml:

    Каждый файл AndroidManifest.xml (как и большинство дляругих xml файлов в Android) включает описание пространства имен

, в качестве своего первого элемента.

Большинство манифестов включает одиночный элемент

, который определяет уровень и свойства компонент приложения доступных из пакета.

  • Любой пакет может быть представлен пользователю как самостоятельная программа, доступной из главноего меню телефона. Для этого нужно что бы в прокете была хотя бы одна деятельность, которая поддерживает действие MAIN и категорию LAUNCHER показанную в примере выше.
  • Детальное описание структуры файла AndroidManifest.xml file.

    Корневой элемент, содержащий полное описание вашего пакета. В него могут включаться следующие элементы:

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

    Описывается определенный тип значений намерений, которые компоненты подерживают в качестве фильтров намерений. В дополнение, различные типы значений могут быть указаны под этим элементом. Аттрибутымогут быть указаны для получения уникального названия, иконки или другой информации для действия которое было описано. Действие намерений, которое компонент поддерживает. Категория намерений которое компонент поддерживает. Указываются поддерживаемые типы: Intent data MIME type, Intent data URI scheme, Intent data URI authority или Intent data URI path.

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

    Добавляет описание мета информации к вашей деятельности, клиенты которой могут получить ее через ComponentInfo.metaData. Широковещательный приемник (BroadcastReceiver) позволяет приложению узнавать о изменениях с данными или действиями которые случились, даже если программа не запущена. Так же как и , вы можете указать один или более или значения , которые получатель поддерживает. Сервис это компонент который может быть запущен в фоне на произвольное количество времени. Так же как и в теге , опционально вы можете указать один или более или элементов, которые поддерживает сервис.

    Провайдер содержимого (ContentProvider) это компонент который управлет доступом к данным вашей программы, предоставляя его другим приложениям. Вы так же можете указать один или более элементов .

    Источник

    Русские Блоги

    Структура проекта Android и AndroidManifest.xml

    Структура проекта Android

    Примечание. На рисунке показана структура проекта Android в Eclipse, поскольку независимо от того, используете ли вы AndroidStudio или Eclipse для разработки проекта Android, сгенерированная структура проекта такая же, как функция каждого пути к каталогу.

    src:src означает источник,Путь для хранения исходного кода java мы можем в каталоге srcСоздайте пакет и файлы исходного кода в пакете. Есть в каталоге src в каталоге проекта Android в AndroidStudioJava и ResДва справочника,В каталоге java хранится исходный код Java, а в каталоге res хранятся файлы ресурсов.

    gen:gen означает генерировать, Хранится в каталоге genФайл конфигурации, автоматически созданный системой, Мы не будем изменять его вручную в процессе разработки.

    android 4.4.2: эта папка содержит файл android.jar, который представляет собой архивный файл Java, содержащий все библиотеки Android SDK и API, необходимые для создания приложения. В настоящее время некоторые пакеты jar для Android и некоторые библиотеки классов, используемые этим приложением, которое мы разрабатываем, затем мы используем этот пакет для предоставления некоторых библиотек классов и пакетов jar, необходимых для некоторых наших приложений для Android.

    assets:Активы означают активы, хранящие файлы ресурсов (ресурсы, аудио, xml), ID не будет автоматически сгенерирован и не будет автоматически занимать размер окончательного apk, созданного текущим приложением.Когда файл ресурсов в активах не используется, он не учитывает текущий размер приложения.

    bin:bin означает двоичный, В каталоге bin хранится исполняемый файл (.apk), созданный после компиляции приложения, и файлы ресурсов, используемые приложением, которые упакованы в apk.

    res:Рес означает ресурсы, Как следует из названия, это файл ресурсов, который используется приложением в каталогеВсе ресурсы, Например, изображения, макеты и т. Д.Насколько велики ресурсы в этом каталоге, он будет занимать размер файла apk, который мы наконец сгенерировали.. В каталоге res есть много разных папок для различных функций, таких как drawable, layout, values ​​и т. Д.

    (1) drawable: этот каталог используется для храненияРесурсы изображений разной плотности, Существует много разных суффиксов (hdpi, ldpi, mdpi, xhdpi и т. Д.), И разные суффиксы используются для обозначения разных разрешений. Из-за различных производителей и моделей устройств Android на рынке существует множество телефонов Android с разным разрешением. При разработке приложений мы будем использовать изображения с разным разрешением. При работе на устройствах с разным разрешением текущее приложение Программа автоматически найдет картинку, соответствующую этому разрешению.

    (2) макет: используется для хранения файлов макета,Макет — это интерфейс приложения, отображаемый на экране телефона., Мы можем выполнять некоторые операции пользовательского интерфейса и обработку в этом интерфейсе в соответствии с нашими потребностями. Файлы макета в android редактируются с помощью файлов XML (.xml).

    Читайте также:  Монитор для volvo xc90 андроид

    (3)values:Храните файлы ресурсов, такие как строки (strings.xml), темы (styles.xml), цвета (colors.xml) и т. Д.. В процессе разработки программы мы будем использовать множество строк ширины, высоты и размера, а также некоторые цвета и стили, которые можно сохранить в нашей папке значений. (Values-v11 — это значения, соответствующие версии 3.0, а values-v14 — значения версии 4.0)

    libs: этот каталог используется для хранения сторонних jar-пакетов некоторых приложений.

    AndroidManifest.xml

    AndroidManifest.xml: этот файл предназначен для всего проекта. Файл манифеста Чтобы настроить что-то похожее на Важная информация, такая как имя пакета, разрешения, программные компоненты и т. Д. . Когда приложение запущено, оно сначала запускает свой файл манифеста.После фильтрации файла манифеста система узнает, что содержится в вашем текущем приложении и как его выполнить.

    AndroidManifest.xml — это основной файл манифеста конфигурации всего приложения, который содержит такую ​​информацию, как имя пакета, номер версии, компоненты и разрешения. Файл манифеста используется для записи информации о конфигурации, связанной с приложением.

    Какова роль AndroidManifest?

    Вышеупомянутая функция является очень общим объяснением, подробности:

    • Назовите программный пакет Java приложения.Название пакета служит уникальным идентификатором приложения.
    • Опишите различные компоненты приложения., Включая действия, службы, приемники широковещательной передачи и поставщиков содержимого, составляющие приложение. Он также называет классы, реализующие каждый компонент, и публикует его функции, например, что они могут обрабатывать.Intent Новости. Эти объявления информируют систему Android о компонентах и ​​условиях, при которых они могут быть запущены.
    • Определите процесс размещения компонентов приложения.
    • Объявите, какие разрешения должны быть у приложения для доступа к защищенным частям API и взаимодействия с другими приложениями. Он также объявляет разрешения, необходимые другим приложениям для взаимодействия с компонентами приложения.
    • СписокInstrumentationКлассы, которые предоставляют анализ и другую информацию во время работы приложения. Эти объявления появятся в манифесте только тогда, когда приложение находится в стадии разработки, и будут удалены перед выпуском приложения.
    • Объявите минимальный уровень Android API, необходимый для приложения
    • Перечислите библиотеки, с которыми приложение должно ссылаться

    Название пакета приложения и управление информацией о версии

    package // Название пакета
    android: versionCode = «1»; // номер версии
    android: versionName = «1.0»; // название версии
    информация о версии Android (минимальная поддерживаемая версия, ожидаемая версия системы)

    android: minSdkVersion = «8» // Минимальная версия SDK
    android: targetSdkVersion = «16» // Ожидаемая версия SDK
    тег приложения

    Файл манифестаМожет содержать только один узел приложения, Приложение может установить значок (android: icon), заголовок (android: label), стиль темы (android: theme).

    Тег приложения может содержать множество компонентов, таких как четыре основных компонента: android, activity, service, contentprovider и broadcastreceiver, чтобы указать компоненты приложения.

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

    1. Объявите разрешения, необходимые для правильной работы приложения

    Добавив для элемента Дочерний элемент может объявлять разрешения, необходимые для нормальной работы приложения. 。

    Например, добавьте следующий код в элемент :

    2. Объявите разрешения, необходимые для вызова приложения :

    Добавляя атрибут android: permission к каждому компонентному элементу приложения, например элементу , вы можете объявить разрешения, необходимые для вызова программы.

    Например, добавьте следующий код в элемент :

    Система Android предоставляет большое количество разрешений, эти разрешения находятся в классе Manifest.permission, вы можете просмотреть инструкцию разрешения в файле класса, как показано на следующем рисунке:

    До Android 6 эти разрешения запрашивались при их установке пользователем. В Android 6 изменилась система разрешений.

    Уровневые разрешения Android 6

    Нормальные (нормальная защита) разрешения
    Опасное разрешение

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

    Опасные разрешения могут вызвать проблемы с конфиденциальностью или повлиять на работу других программ, которые требуют авторизации пользователя при запуске.

    (1) запрос на доступ

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

    (2) Пользовательские разрешения

    Пользовательские разрешения можно назвать пользовательскими, основная функция — защита некоторых важных компонентов Android.

    Примечание: каждый компонент должен содержать атрибут android: name, рекомендуется использовать полное имя (имя пакета. Имя класса), можно выбрать intent-filter (фильтр);

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

    элемент

    Во-первых, весь xml должен содержать элемент . Это корневой узел файла.Он должен содержать элемент и указывать атрибуты xmlns: android и package.

    атрибуты в элементе

    Этот атрибут определяет пространство имен Android. Должен быть установлен на «http://schemas.android.com/apk/res/android». Не изменяйте его вручную.

    Это полное имя пакета в стиле языка Java. Название пакета состоит из английских букв (верхнего и нижнего регистра), цифр и знаков подчеркивания. Каждое отдельное имя должно начинаться с буквы.

    При сборке APK система сборки использует этот атрибут для двух вещей:

    • 1、Используйте это имя в качестве пространства имен при создании классов R.java (используемых для доступа к ресурсам приложения)
      Например: для пакета задан com.sample.teapot, тогда сгенерированный класс R будет: com.sample.teapot.R
    • 2、Используется для создания полного имени класса, определенного в файле манифеста.Например, для пакета задано значение com.sample.teapot, а элемент активности объявлен как , полное имя класса — com.sample.teapot.MainActivity.

    Имя пакета также представляет собой уникальный идентификатор приложения, используемый для публикации приложения.НонотаОдин момент: на последнем этапе процесса сборки APK имя пакета будет заменено атрибутом applicationId в файле build.gradle. Если значения двух атрибутов совпадают, то все будет в порядке, если они не совпадают, будьте осторожны.

    Внутренний номер версии. Используется, чтобы указать, какая версия обновляется.Этот номер не будет отображаться пользователю. Версия versionName, отображаемая пользователю. Это число должно быть целым. Шестнадцатеричный формат не допускается, что означает, что параметр «0x1» не принимается.

    Номер версии, отображаемый пользователю.

    Элементы в элементе

    Google Play использует значение этого элемента Отфильтровать приложения с устройств, которые не соответствуют требованиям приложений 。

    Функция этого устройства — рассказывать другим об аппаратных или программных условиях, от которых зависит приложение. В нем объясняется, какие функции приложения могут измениться при смене устройства.

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

    Читайте также:  Покерстарс андроид не обновляется

    Этот атрибут указывает аппаратную или программную функцию, которая будет использоваться приложением в виде строки.

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

    Укажите версию Opengl ES, необходимую для приложения. Старшие 16 бит представляют собой основной номер версии, а младшие 16 бит представляют дополнительный номер версии. Например, если вам нужна версия 3.2, это 0x00030002. Если вы определите несколько glEsVersion, приложение автоматически включит самый высокий параметр.

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

    Указывает, разрешено ли добавление APP в структуру резервного копирования и восстановления. Если установлено значение false, приложение не будет выполнять резервное копирование и восстановление. Значение по умолчанию верно.

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

    Объявите, поддерживает ли ваше приложение макет RTL (справа налево). Если установлено значение true, а targetSdkVersion имеет значение 17 или выше. Многие API-интерфейсы RTL будут ориентированы на то, чтобы ваше приложение могло отображать макет RTL. Если установлено значение false или targetSdkVersion имеет значение 16 или ниже. Какой RTL API не работает.

    По умолчанию этот атрибут имеет значение false.

    Значок приложения и значок по умолчанию для каждого компонента. Вы можете настроить значок в групповой цене. Этот атрибут должен быть установлен на ссылку на ресурс, который можно рисовать, который должен содержать изображение. Система не устанавливает значок по умолчанию. Например, mipmap / ic_launcher относится к следующим ресурсам

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

    Метка должна быть установлена ​​как ссылка на строковый ресурс. Таким образом, они могут быть расположены, как и другие объекты, например @ string / app_name. Конечно, для удобства разработки вы также можете определить необработанную строку.

    Этот атрибут определяет тему, используемую приложением, и является ссылкой на ресурс стиля. Каждое действие также может установить свою собственную тему со своим собственным атрибутом темы.

    Полное имя подкласса Application. Включите предыдущий путь. Например, com.sample.teapot.TeapotApplication. Когда приложение запускается, сначала создается экземпляр этого класса. Этот атрибут является необязательным, и большинству приложений этот атрибут не нужен. В отсутствие этого атрибута Android запустит экземпляр класса Application.

    Этот элемент объявляет Activity (подкласс класса Activity), реализующий визуальный интерфейс приложения. Это необходимый дочерний элемент элемента . Все действия должны быть представлены элементом в файле манифеста. Любая активность, которая здесь не объявлена, невидима для системы и никогда не будет выполнена.

    Имя класса Activity является подклассом класса Activity. Значением атрибута является полное имя класса, например com.sample.teapot.TeapotNativeActivity. Для удобства, если первым символом является точка (‘.’), Вам нужно добавить имя пакета в элемент . После публикации приложения имя не должно изменяться.

    Значение по умолчанию отсутствует, необходимо указать имя.

    Тег активности может быть прочитан пользователем. Эта метка будет отображаться на экране при активации Activity. Если не установлен, используйте атрибут label в . Требования к настройке атрибутов такие же, как и в .

    Список сообщений об изменении конфигурации, которые действие будет обрабатывать самостоятельно. Когда изменение конфигурации происходит во время выполнения, Activity закрывается и перезапускается по умолчанию, но использование этого атрибута для объявления конфигурации предотвратит перезапуск Activity. Вместо этого активность будет продолжать работать, и система вызовет ееonConfigurationChanged()метод.

    Заметка: Этого атрибута следует избегать, и его следует использовать только в крайнем случае. Для получения подробной информации о том, как правильно обрабатывать перезапуски, вызванные изменениями конфигурации, прочтитеОбработка изменений среды выполнения。

    Для этого атрибута можно установить множество элементов, вот наиболее часто используемые элементы:

    • orientation
      Будьте уверены, что экран изменился, например пользователь повернул устройство.
    • keyboardHidden
      Специальные возможности клавиатуры изменились, например, пользователь отображает аппаратную клавиатуру.
    • android:launchMode
      Инструкции по запуску Activity. Есть четыре типа инструкций:
      “standard”
      “singleTop”
      “singleTask”
      “singleInstance”
      по умолчанию является стандартным. Эти режимы делятся на две категории: «стандартные» и «singleTop» составляют одну категорию. Действие этого режима может быть создано несколько раз. Экземпляр может принадлежать любой задаче и находиться в любом месте стека действий. «singleTask» и «singleInstance» — это одна категория. В этом режиме можно только запускать задачи, и они всегда находятся в корне стека действий. Кроме того, устройство может сохранять только один экземпляр Activity за раз.
      После того, как для установлено значение singleTask, система создает действие в корне новой задачи и отправляет ему намерение. Если экземпляр Activity уже существует, система передаст ему намерение, вызвав метод onNewIntent () экземпляра вместо создания нового экземпляра Activity.

    Установите формат темы, аналогичный теме в .

    Укажите дополнительный элемент данных.Элемент данных представляет собой пару имя-значение и предоставляется своему родительскому компоненту. Эти данные образуют объект Bundle, который может использоваться полем PackageItemInfo.metaData. Хотя вы можете использовать несколько тегов элементов , это не рекомендуется. Если необходимо указать несколько элементов данных, рекомендуется объединить несколько элементов данных в один ресурс, а затем использовать для его включения.

    Этот элемент имеет три атрибута:

    Имя элемента данных. Это уникальное значение.

    Ссылка на ресурс.

    Значение элемента данных.

    Укажите, с какой целью может быть запущено это действие. У этого элемента есть несколько дочерних элементов, которые могут содержаться. Сначала мы представим два встречающихся:

    Указывает, с какого действия запущено действие,android.intent.action.MAIN означает запуск в качестве основного действия.

    Это дополнительная информация о категории элемента действия,android.intent.category.LAUNCHER указывает, что это действие является действием с наивысшим приоритетом для текущего приложения.

    Интеллектуальная рекомендация

    Многослойная презентацияViewController Jap

    . Недавно, проект использует многоэтажные прыжки [A presentViewController: B animated: YES] [B presentViewController: C animated: YES] . Проблема в том, где: как это идет прямо к? Я не нашел ме.

    Распечатать список с конца до головы

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

    Типы данных и переменные

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

    Python Daily Practice (4) -идиомы заполняют музыку

    оглавление 1. Одно место 2. Случайное расположение 3. Добавьте баллы для оценки 4. Получение файла 5. Установите уровень сложности. 6. Срок завершения 7. Выберите заполнение пропусков. 1. Одно место Н.

    Источник

    Оцените статью