- Файл манифеста AndroidManifest.xml
- Назначение файла
- Общая структура манифеста
- Описание
- Атрибуты
- QML — Урок 020. Старт работы с Android Manifest в Qt Creator
- Пошаговая работа с Android Manifest
- Первый шаг
- Второй шаг
- Третий шаг
- Четвёртый шаг
- Заключение
- Meta name android app
- Что можно положить в тег
- Рекомендуемый минимум
- Элементы
- Ссылки
- Иконки
- Социальные сети
- Facebook Open Graph
- Twitter Card
- Twitter Privacy
- Schema.org
- Facebook Instant Articles
- OEmbed
- QQ/Wechat
- Браузеры / Платформы
- Apple iOS
- Google Android
- Google Chrome
- Microsoft Internet Explorer
- Браузеры (китайские)
- 360 Browser
- QQ Mobile Browser
- UC Mobile Browser
- Ссылки на приложения
- Другие ресурсы
- Связанные проекты
- Другие форматы
- Переводы
- Contributing
- Contributors
- Автор оригинального репозитория
- Поддержка
- Описание мета-тегов
- Описание страницы
- Title
- Description
- Keywords
- Кодировка сайта
- Application-Name
- Generator
- Author
- Copyright
- Reply-To
- Content-Language
- Управление индексацией
- Robots
- Last-Modified
- Document-State
- Revisit-After
- Управление кэшированием
- Cache-Control
- Pragma
- Expires
- Canonical — предпочитаемый канонический адрес
Файл манифеста 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 элемента
Источник
QML — Урок 020. Старт работы с Android Manifest в Qt Creator
Когда приходит время вести разработку под Android на Qt, то Мы рано или поздно приходим к необходимости работать с файлом AndroidManifest.xml . В данном файле Мы имеем возможность указать определённые принципиальные настройки поведения для нашего приложения, например ориентацию экрана, или основную тему приложения.
Но по умолчанию Android Manifest в Qt Creator не создаётся. Чтобы начать с ним работать, необходимо будет его создать в параметрах сборки проекта.
Пошаговая работа с Android Manifest
Первый шаг
Для этого необходимо зайти во вкладку Проекты и в ней найти необходимый нам комплект сборки. Выбрать пункт Сборка и в нём найти пункт Собрать Android APK . Развернём этот пункт кликнув на «Подробнее» .
Здесь Вы сможете выбрать целевой уровень SDK и настроить параметры сборки APK.
Второй шаг
Но чтобы создать файл AndroidManifest.xml , Вам понадобится кликнуть по кнопке «Создать шаблоны» . И после этого выбрать папку, где будет создан Android Manifest .
Третий шаг
В структуре проекта Вы увидите файл AndroidManifest.xml . А справа от структуры будет открыта настройка данного файла. Здесь Вы сможете задать минимальный требуемый SDK устройства, на которое будет производиться установка приложения, а также задать значок приложения и включить требуемые для приложения разрешения. Например, вызовы, доступ в интернет, работа с Wi-Fi и т.д.
Четвёртый шаг
После того, как Вы настроите основные параметры приложения, предлагаю взглянуть на сам xml код файла, который сгенерировал QtCreator . Это код будет аналогичен тому коду, который Вы увидите в AndroidManifst.xml при разработке приложения под Android на Java . Поэтому настройка данного файла будет аналогична разработке под Java. И, например, настройка фикисрованной ориентации экрана будет выглядеть следующим образом:
Ну а полный код получившегося Android Manifest у меня выглядел следующим образом.
Заключение
Работа с AndroidManifest.xml под Qt имеет свою специфику, но при этом всё-таки не так сильно отличается от того, как если бы Мы вели разработку на Java .
Также можете глянуть профайл проекта. В нём Вы увидите, как подключён к проекту Ваш Android Manifest.
Источник
Meta name android app
A utility library for Android designed to simplify reading meta-data values from AndroidManifest.xml.
- Quickly access a meta-data values from anywhere with few lines of code.
- Read individual meta-data values into type-specific variables.
- Instantiate objects from meta-data values.
- Read one or more meta-data values into annotated Java classes.
- Use meta-data values to pass configuration parameters to third-party libraries.
Here is the quickest and easiest way to load the metadata from AndroidManifest.xml and get a value. The value, by default, is a String value type.
If the value is not a String type, then you can provide a hint:
You can even directly load a resource from the metadata:
In some cases, you may need to provide additional information about the resource type since different resources types can have the same Java type:
Using Annotations to Load Metadata
Here is the simplest example of using an annotation to define what meta-data value in AndroidManifest.xml it should be initialized with:
In the example above, the field message will be initialized with the value of meta-data tag named my.message. You initialize all values with the @Metadata annotation using a single line of code:
This method will auto-detect the target type, and then assign the value. If the field is not assignable using the meta-data’s value, then an exception will be thrown.
Reading from a Resource
In some cases, you will want to read the value from a resource (i.e., you use android:resource in the meta-data tag). You can use the @Metadata annotation to read resource values as well:
Giving Resource Type Hints
There are some resources that have the same field type, such as integer and color. This makes it hard to auto-detect the resources type. We can therefore provide a hint as follows:
In the example above, the value for backgroundColor will be loaded from resources and interpreted as a color.
Источник
Что можно положить в тег
Рекомендуемый минимум
Ниже приведены основные элементы для любого веб-документа (веб-сайта/приложения):
meta charset — определяет кодировку веб-сайта, стандартом является utf-8 .
meta name=»viewport» — настройки viewport, связанные с мобильной отзывчивостью
width=device-width — физическая ширина устройства (отлично подходит для мобильных устройств!)
initial-scale=1 — начальный масштаб, 1 означает отсутствие масштабирования.
Элементы
Допустимые элементы включают base , link , meta , noscript , script , style , template и title .
Эти элементы предоставляют информацию о том, как документ должен восприниматься и отображаться веб-технологиями, например, браузерами, поисковыми системами, ботами и так далее.
Ссылки
Иконки
Социальные сети
Facebook Open Graph
Большинство материалов передается на Facebook в виде URL, поэтому важно, чтобы вы разметили свой сайт тегами Open Graph, чтобы взять под контроль то, как ваши материалы появляются на Facebook. Подробнее о разметке Facebook Open Graph
Протестируйте свою страницу с помощью Facebook Sharing Debugger
Twitter Card
С помощью Twitter Cards вы можете прикреплять к твитам фотографии, видео и мультимедийные файлы, тем самым способствуя привлечению трафика на ваш сайт. Подробнее о Twitter Cards
Проверьте свою страницу с помощью Twitter Card Validator
Twitter Privacy
Если вы встраиваете твиты в свой сайт, Twitter может использовать информацию с вашего сайта для адаптации контента и предложений для пользователей Twitter. Подробнее о возможностях конфиденциальности Twitter.
Schema.org
Примечание: Эти мета-теги требуют добавления атрибутов itemscope и itemtype к тегу .
Протестируйте свою страницу с помощью Rich Results Test
Pinterest позволяет запретить людям сохранять страницы вашего сайта, согласно их центру помощи. Описание description является необязательным.
Facebook Instant Articles
OEmbed
QQ/Wechat
Пользователи обмениваются веб-страницами в qq wechat с помощью форматированного сообщения
Браузеры / Платформы
Apple iOS
Google Android
Google Chrome
Microsoft Internet Explorer
Минимально необходимая разметка xml для browserconfig.xml :
Браузеры (китайские)
360 Browser
QQ Mobile Browser
UC Mobile Browser
Ссылки на приложения
Другие ресурсы
Связанные проекты
Atom HTML Head Snippets — Atom пакет для HEAD сниппетов
Sublime Text HTML Head Snippets — пакет Sublime Text для HEAD сниппетов
head-it — CLI интерфейс для HEAD сниппетов
vue-head — Манипулирование метаинформацией тега HEAD для Vue.js
Другие форматы
Переводы
Contributing
Откройте issue или PR , чтобы предложить изменения или дополнения.
Contributors
Посмотрите на всех супер классных авторов
Автор оригинального репозитория
Josh Buchea
Поддержка
Если этот проект был полезен для вас или вашей организации, пожалуйста, рассмотрите возможность прямой поддержки моей работы автора оригинального репозитория:
Всем кто помогает, спасибо!
Примечание автора: это русский перевод репозитория HEAD от Josh Buchea. Мы поддерживаем русскую версию в отдельном репозитории, куда вы можете отправлять issue или PR напрямую, если нашли неточности или вам есть, что добавить. Публикуем перевод на Хабре, чтобы поделиться с русскоязычным сообществом полезным материалом.
Источник
Описание мета-тегов
Посмотрев HTML код разных сайтов возникает вопрос – зачем в нем так много мета-тегов и для чего они нужны? В данной статье представлены все самые встречающеюся теги с примерами и пояснениями.
Описание страницы
Title
Заголовок страницы, оптимальная длина 50-60 символов.
Description
Краткое описание страницы длинной 160-180 символов, используется в выводе результатов поиска.
Keywords
Содержит ключевые слова встречающихся на странице. Не более 20-ти слов и 3-х повторов.
- Google – не использует.
- Яндекс – под вопросом.
Кодировка сайта
В HTML5 тег сократили:
Application-Name
Название веб-приложения. Можно указать несколько названий для разных языковых локалей.
- В Android используется при добавлении сайта на главный экран.
- В Windows 8, 10 при добавлении сайта в панель приложений и плиткой в меню пуск.
Generator
Сообщает, с помощью какой программы был сгенерирован код страницы.
Author
Информация об авторе сайта.
Copyright
Информация о владельце сайта.
Reply-To
Указывает способ связи с автором страницы.
Content-Language
Указывает язык страницы. Используется поисковыми машинами при индексировании.
Предоставляет ссылку на справку или e-mail.
Управление индексацией
Robots
Задает правила индексации для поисковых роботов.
Общие значения:
index , follow или all | Разрешено индексировать текст и ссылки на странице |
noindex | Не индексировать текст страницы |
nofollow | Не переходить по ссылкам на странице |
noindex , nofollow или none | Запрещено индексировать текст и переходить по ссылкам |
noarchive | Не показывать ссылку на сохраненную копию в поисковой выдаче |
Яндекс
noyaca | Не использовать описание из Яндекс.Каталога для сниппета в результатах поиска |
nosnippet | Запрещает показывать видео или фрагмент текста в результатах поиска |
noimageindex | Запрещает указывать вашу страницу как источник ссылки для изображения |
noodp | Не использовать описание из каталога DMOZ |
Last-Modified
Альтернативно HTTP-заголовку Last-Modified задает дату последнего изменения для статических страниц.
Document-State
Определяет частоту индексации для поисковых роботов.
static | Индексировать один раз |
dynamic | Индексировать страницу регулярно |
Revisit-After
Указывает как часто обновляется информация на сайте, и как часто поисковая система должна на него заходить.
Управление кэшированием
Cache-Control
Указывает как браузеру кэшировать страницу.
Допустимые значения:
public | Кэшируется все |
private | Кэшируется браузером, но не proxy-сервером |
no-cache | Запрещает кэширование |
max-age=0 | Сколько секунд хранить в кэше |
Pragma
Expires
Дата окончания кэша браузера. Если указать прошедшую дату или 0, то документ не будет кэшироваться.
Canonical — предпочитаемый канонический адрес
Если у страницы есть дубликаты с одним содержанием и разными URL, например:
В rel=»canonical» указывается адрес, который будет считаться основным и будет использоваться в поисковой выдаче.
Указывает URL предыдущий страницы при пагинации.
Указывает URL следующий страницы при пагинации.
Источник