Основные компоненты Android

Android состоит из нескольких основных компонентов: Activity, Service, Fragment, Intent, ContentProvider.

Activity - основной класс, представляющий конкретное представление экрана. Activity может содержать внутри множество Fragment-ов и элементов - View. Android формирует стэк activity, благодаря чему мы можем передвигаться между ними с помощью системной кнопки - назад. Activity может быть запущено и другим приложением, если разработчик добавит такую возможность.

Fragment - класс, который предоставляет похожие на activity возможности, однако сам по себе не является экраном, а является его частью. Обычно используется для часто изменяемых частей activity (например, pager - элемент, который переключает страницы движениями пальцами вправо-влево - каждая страница внутри pager представляется фрагментом). Fragment может содержать в себе другие фрагменты и view, однако Android не предоставляет стэка фрагментов, поэтому системная кнопка “назад” никак не влияет на фрагменты, разработчик должен сам реализовывать стэк, если ему это нужно.

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

Intent - сущность для активации служб или activity. Intent указывает какую activity или службу запустить, что ей передать в качестве входных данных и определяет действие, которое необходимо выполнить.

ContentProvider - управляет данными приложениями. Служит для доступа к базе данных и файлам приложения. Другие приложения могут посредством content provider получить доступ к файлам приложения.

Кроме того Android предоставляет “приемщик сообщений” - Broadcast Receiver - компонент принимающий определенные сообщения приложению. Типичный пример использования - обработка уведомлений.

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

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

Жизненные циклы

Activity, fragment, service обладает определенным жизненным циклом внутри Android.

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

Activity lifecycle

Рисунок 9. Activity lifecycle

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

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

Помимо этого описана архитектура системы Android, ее основные компоненты и их жизненный цикл.

 
< Пред   СОДЕРЖАНИЕ   Загрузить   След >