Глоссарий платформы Android

См. Список ниже, чтобы изучить базовую терминологию Android Open Source Project (AOSP). Вот другие источники определений ключевых терминов:

См. В разделе « Кодирование с уважением» примеры терминологии, которую следует использовать и избегать для создания более инклюзивной экосистемы.

Программы

.apk файл
Файл пакета приложения Android. Каждое приложение Android компилируется и упаковывается в один файл, который включает весь код приложения (файлы .dex), ресурсы, активы и файл манифеста. Файл пакета приложения может иметь любое имя, но должен иметь расширение .apk . Например: myExampleAppname.apk . Для удобства файл пакета приложения часто называют «.apk».

Связанный: Приложение .

Действие
Описание того, что хочет сделать отправитель намерения . Действие - это строковое значение, присвоенное намерению. Строки действий могут быть определены Android или сторонним разработчиком. Например, android.intent.action.VIEW для веб-URL или com.example.rumbler.SHAKE_PHONE для настраиваемого приложения для вибрации телефона.

Связанный: Намерение .

Мероприятия
Единый экран в приложении с поддерживающим кодом Java, производным от класса Activity . Чаще всего действие визуально представлено полноэкранным окном, которое может получать и обрабатывать события пользовательского интерфейса и выполнять сложные задачи из-за окна, которое оно использует для визуализации своего окна. Хотя Activity обычно является полноэкранным, оно также может быть плавающим или прозрачным.
Заявление
С точки зрения компонентов приложение Android состоит из одного или нескольких действий, служб, слушателей и приемников намерений. С точки зрения исходного файла приложение Android состоит из кода, ресурсов, активов и одного манифеста. Во время компиляции эти файлы упаковываются в один файл, называемый файлом пакета приложения (.apk).

По теме: .apk , Activity

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

Связано: намерение , фильтр намерения .

Поставщик услуг
Уровень абстракции данных, который можно использовать для безопасного предоставления данных вашего приложения другим приложениям. Провайдер контента основан на классе ContentProvider , который обрабатывает строки запроса контента определенного формата для возврата данных в определенном формате. См. Раздел « Поставщики контента» для получения дополнительной информации.

Связанный: Использование URI в Android

Диалог
Плавающее окно, которое действует как легкая форма. Диалог может иметь только кнопки управления и предназначен для выполнения простого действия (например, выбора кнопки) и, возможно, возврата значения. Диалоговое окно не предназначено для сохранения в стеке истории, содержать сложный макет или выполнять сложные действия. Android предоставляет вам простой диалог по умолчанию с дополнительными кнопками, хотя вы можете определить свой собственный макет диалогового окна. Базовым классом для диалогов является Dialog .

Связанный: Активность .

Намерение
Объект сообщения, который можно использовать для асинхронного запуска или связи с другими приложениями / действиями. Объект Intent - это экземпляр Intent . Он включает несколько полей критериев, которые вы можете указать, чтобы определить, какое приложение / действие получает намерение и что делает получатель при обработке намерения. Доступные критерии включают желаемое действие, категорию, строку данных, MIME-тип данных, класс обработки и другие. Приложение отправляет намерение в систему Android, а не напрямую в другое приложение / действие. Приложение может отправить намерение одному целевому приложению или может отправить его как широковещательную рассылку, которая, в свою очередь, может быть последовательно обработана несколькими приложениями. Система Android отвечает за определение наилучшего доступного получателя для каждого намерения на основе критериев, предоставленных в фильтрах намерений и намерений, определенных другими приложениями. Дополнительные сведения см. В разделе « Намерения» и «Фильтры намерений» .

Связанный: фильтр намерений , приемник широковещания .

Фильтр намерений
Объект фильтра, который приложение объявляет в своем файле манифеста, чтобы сообщить системе, какие типы намерений каждый из его компонентов готов принять и с какими критериями. С помощью фильтра намерений приложение может выражать интерес к определенным типам данных, действиям намерений, форматам URI и т. Д. При разрешении намерения система оценивает все доступные фильтры намерений во всех приложениях и передает намерение приложению / действию, которое наилучшим образом соответствует намерению и критериям. Для получения дополнительной информации см. Намерения и Фильтры намерений .

Связано: намерение , широковещательный приемник .

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

Связанный: Активность

URI в Android
Android использует строки URI (универсальный идентификатор ресурса) в качестве основы для запроса данных у поставщика контента (например, для получения списка контактов) и для запроса действий в намерении (например, открытие веб-страницы в браузере). Схема и формат URI зависят от типа использования, и приложение может обрабатывать определенные схемы и строки URI любым способом. Некоторые схемы URI зарезервированы системными компонентами. Например, запросы данных от поставщика содержимого должны использовать content:// . В намерении URI, использующий схему http:// , будет обрабатываться браузером.

Строить

adb
Android Debug Bridge, приложение для отладки командной строки, включенное в SDK. Он предоставляет инструменты для просмотра устройства, копирования инструментов на устройстве и пересылки портов для отладки. Если вы разрабатываете в Android Studio, adb интегрирован в вашу среду разработки. См. Android Debug Bridge для получения дополнительной информации.
Android-проект
Репозиторий Git на хосте Android Gerrit. См. Раздел Инструменты управления версиями> Gerrit для получения дополнительной информации.
Создайте отпечаток пальца
Отпечаток сборки - это уникальная, удобочитаемая строка, содержащая информацию о производителе, выдаваемую для каждой сборки. Дополнительные сведения см. В разделе « Отпечатки сборки» .
Git
Инструмент управления версиями, используемый Android, который исторически работал в одном репозитории Git. Используется вместе с Repo для нескольких репозиториев Git. См. Раздел Инструменты управления версиями> Git для получения дополнительной информации.
Ветка Git - каноническая
Отдельные версии для каждого репозитория Git, например android-11.0.0_r1 , можно найти по адресу cs.android.com/android/platform/superproject/+/android-11.0.0_r1 . Дополнительные сведения см. В разделе « Ветвление Git - в двух словах» .
Ветка Git - локальная
Временная ветвь в текущем клиенте репо для внесения изменений в код, запущенная с repo start branch-name . команда. активная линия развития. Самая последняя фиксация в ветке называется вершиной этой ветки.
Репозиторий Git
Иногда называемый проектом, это часть кодовой базы, представляющая определенный компонент или тип устройства, например frameworks/base или platform/packages/apps/Car/Media .
Файл манифеста
XML-файл, описывающий группировку репозиториев Git по ветке, версии Git, в которых нужно проверить эти репозитории, и их расположение в файловой системе. Этот XML-файл, обычно называемый default.xml , связан с ветвью Repo и описывает репозитории Git и ветки Git, извлеченные при инициализации и синхронизации ветки Repo. Этот файл определяет различные репозитории Git, которые инструмент Repo должен загружать в клиентскую кассу Repo для создания продукта (например, Android Automotive OS). Смотрите все манифесты на android.googlesource.com/platform/manifest/+refs . См. Манифест по умолчанию, включенный в файлы AndroidManifest для извлечения файлов платформы Android (AOSP), на странице android.googlesource.com/platform/manifest/+/refs/heads/master/default.xml . См. Файл AndroidManifest.xml для получения информации о приложении и формат манифеста репозитория для разработки платформы.
Обновление по воздуху (OTA)
Полевые устройства Android могут получать и устанавливать беспроводные (OTA) обновления для системы, программного обеспечения и правил часовых поясов. Для получения дополнительной информации см. Обновления OTA .
Репо
Обертка вокруг Git для упрощения работы с несколькими репозиториями Git. Он объединяет и управляет множеством репозиториев Git как единый блокчейн или базу кода. Для получения дополнительной информации см. Инструменты управления версиями> Репо .
Филиал репо
Коллекция репозиториев Git, записанных в файле AndroidManifest, который представляет версию (сборку) кодовой базы Android, например android11-gsi или aosp-android-games-sdk , загруженных с помощью команд repo init и repo sync . См. Описание файла манифеста для ссылок на все файлы манифеста и используйте https://cs.android.com/ для поиска их сборок.

Графика

Холст
Поверхность рисования, которая обрабатывает композицию фактических битов с растровым изображением или объектом поверхности . Он имеет методы для стандартного компьютерного рисования растровых изображений, линий, кругов, прямоугольников, текста и т. Д. И привязан к растровому изображению или поверхности. Холст - это самый простой и легкий способ рисовать 2D-объекты на экране. Базовый класс - Canvas .

Связанные: Drawable , OpenGL ES , Surface .

Drawable
Скомпилированный визуальный ресурс, который можно использовать в качестве фона, заголовка или другой части экрана. Drawable обычно загружается в другой элемент пользовательского интерфейса, например, как фоновое изображение. Drawable не может получать события, но назначает различные другие свойства, такие как «состояние» и планирование, для включения подклассов, таких как объекты анимации или библиотеки изображений. Многие доступные для рисования объекты загружаются из файлов ресурсов для рисования - файлов xml или растровых изображений, которые описывают изображение. Ресурсы, доступные для рисования, компилируются в подклассы android.graphics.drawable . Для получения дополнительной информации о чертежах и других ресурсах см. Ресурсы .

Связанные: Ресурсы , Холст

Ресурс макета
XML-файл, описывающий структуру экрана действий.

Связанный: Ресурсы

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

Связанный: Ресурсы .

OpenGL ES
Android предоставляет библиотеки OpenGL ES для аппаратного ускорения 3D-рендеринга. Для 2D-рендеринга Canvas - более простой вариант ». OpenGL ES доступен в Android Native Development Kit (NDK) для простоты использования. Пакеты android.opengl и javax.microedition.khronos.opengles предоставляют функциональность OpenGL ES.

Связанный: Холст , Поверхность

Поверхность
Объект типа Surface представляющий блок памяти, который совмещается с экраном. Поверхность содержит объект Canvas для рисования и предоставляет различные вспомогательные методы для рисования слоев и изменения размера поверхности. Вы не должны использовать этот класс напрямую; вместо этого используйте SurfaceView .

Связанный: Холст

SurfaceView
Объект View, который обертывает поверхность для рисования и предоставляет методы для динамического определения ее размера и формата. SurfaceView обеспечивает способ рисования независимо от потока пользовательского интерфейса для ресурсоемких операций (таких как игры или предварительный просмотр камеры), но в результате он использует дополнительную память. SurfaceView поддерживает графику как Canvas, так и OpenGL ES. Базовый класс - SurfaceView .

Связанный: Поверхность

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

Связанные: View Hierarchy , ViewGroup , Widget

Просмотр иерархии
Расположение объектов View и ViewGroup, определяющее пользовательский интерфейс для каждого компонента приложения. Иерархия состоит из групп представлений, содержащих одно или несколько дочерних представлений или групп представлений. Вы можете получить визуальное представление иерархии представлений для отладки и оптимизации с помощью средства просмотра иерархии , поставляемого с Android SDK.

Связанные: View , ViewGroup

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

Связанные: Просмотр , Просмотр иерархии

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

Платформа

Android Runtime (ART) и Dalvik
Среда выполнения Android (ART) - это управляемая среда выполнения, используемая приложениями и некоторыми системными службами Android. Среда выполнения Android (ART) - это среда выполнения по умолчанию для устройств под управлением Android 5.0 (уровень API 21) и выше. ART и его предшественник Dalvik изначально создавались специально для Android Open Soure Project. ART в качестве среды выполнения выполняет формат исполняемого файла Dalvik и спецификацию байт-кода Dex. ART и Dalvik - это совместимые среды выполнения, работающие с байт-кодом Dex, поэтому приложения, разработанные для Dalvik, должны работать при работе с ART.
Кодовая строка
Строка кода содержит выпуск программного продукта. Он состоит из одной или нескольких веток из одного или нескольких репозиториев, каждый из которых часто одновременно находится в активной разработке. Строка кода - это точка агрегирования и цель выпуска. Дополнительные сведения о кодовых строках см. В разделе Управление программным обеспечением Android .
.dex файл
Скомпилированный файл кода приложения Android.

Программы Android компилируются в файлы .dex (исполняемый файл Dalvik), которые, в свою очередь, архивируются на устройстве в один файл .apk. Файлы .dex могут быть созданы путем автоматического перевода скомпилированных приложений, написанных на языке программирования Java.

Контрольная работа

Артефакты
Артефакты - это связанные со сборкой журналы, позволяющие устранять неполадки на месте. Эти журналы доступны непосредственно из Gerrit при просмотре вашего списка изменений. Прокрутите вниз до « Состояние предварительной отправки» и щелкните красную ссылку « Сборка», чтобы просмотреть или загрузить связанный файл build_error.log . Вы также можете получить эти артефакты с центрального сервера непрерывной интеграции Android по адресу ci.android.com/ , щелкнув значок «Загрузить» (стрелка вниз) для цели и сборки. Дополнительные сведения о том, как найти артефакты, см. В разделе « Непрерывная интеграция с Android» .
CDD
Документ определения совместимости с Android (CDD) перечисляет требования, которые должны быть выполнены, чтобы ваши устройства были совместимы с последней версией Android. Чтобы считаться совместимыми с Android, реализации устройств ДОЛЖНЫ соответствовать требованиям, представленным в этом Определении совместимости, включая любые документы, включенные посредством ссылки. Для получения дополнительной информации о CDD см. Документ об определении совместимости с Android .
CTS
Набор тестов совместимости (CTS) - это набор тестов для проверки корректности API и спецификации, изложенной в CDD. Он доступен как исходный код в AOSP и для загрузки в виде двоичного файла. Для получения дополнительной информации см. Набор тестов совместимости .
CTS Verifier
Программа проверки совместимости Test Suite Verifier (CTS Verifier) ​​является дополнением к CTS. CTS Verifier предоставляет тесты для API и функций, которые нельзя протестировать на стационарном устройстве без ручного ввода (например, качество звука, акселерометр и т. Д.). Для получения дополнительной информации см. Использование CTS Verifier .
Отладка
Отладка требует поиска и исправления ошибок в коде платформы Android, будь то функции или их тесты. Дополнительные сведения см. В разделе « Отладка собственного кода платформы Android».
gtest
GoogleTest - это фреймворк Google для тестирования и имитации C ++. Найдите код на github.com/google/googletest и документацию на google.github.io/googletest .
Инструментальный тест
Инструментальный тест предоставляет специальную среду выполнения теста, запускаемую командой am instrument , где целевой процесс приложения перезапускается и инициализируется с базовым контекстом приложения, а поток инструментария запускается внутри виртуальной машины процесса приложения. Для получения дополнительной информации см. Инструментальные тесты .
Logcat
Logcat - это инструмент командной строки, который выгружает журнал системных сообщений, включая трассировку стека, когда устройство выдает ошибку, и сообщения, которые вы написали из своего приложения с помощью класса Log . Для получения дополнительной информации см. Инструмент командной строки Logcat .
логирование
Ведение журнала в Android сложно из-за сочетания используемых стандартов, объединенных в logcat . Дополнительные сведения об основных используемых стандартах см. В разделе « Общие сведения о ведении журнала» .
Конфликт слияния
Конфликт слияния возникает, когда две или более версий одного и того же файла больше не могут быть автоматически объединены сервером сборки Android. Обычно это требует ручного редактирования файла для разрешения всех конфликтующих обновлений.
Родной тест
Собственный тест для платформы обычно обращается к нижним уровням абстракции или выполняет необработанный IPC для различных системных сервисов. Поэтому подход к тестированию обычно тесно связан с тестируемой службой. Для получения дополнительной информации см. Собственные тесты .
Tradefed
Средство тестирования Trade Federation (сокращенно Tradefed или TF) - это среда непрерывного тестирования, предназначенная для запуска тестов на устройствах Android. Например, Tradefed используется для запуска CTS и VTS. Для получения дополнительной информации см. Обзор торговой федерации .
СУДС
Android Vendor Test Suite (VTS) предоставляет обширные функциональные возможности для тестирования Android, способствует процессу разработки, основанному на тестировании, и автоматизирует тестирование HAL и ядра ОС. Для получения дополнительной информации см. Vendor Test Suite (VTS) and Infrastructure .