Обзоры и статьи / Понятия о приложениях для Android и их компоненты

Понятия о приложениях для Android и их компоненты

Каждая программа для мобильной операционной системы Android – это пакет с расширением файла .apk. Данный пакет формируется утилитой aapt и состоит из всего скомпилированного Java-кода и ресурсов, которые используются в процессе работы приложения. Именно такой пакет пользователь загружает и устанавливает с всем известного сервиса Google Play (бывший Android Market).

Каждому приложению в ОС Android присваивается свой отдельный процесс. Сам процесс создается, когда это необходимо, а по завершению выполнения требуемых действий операционная система автоматически завершает процесс, чтобы освободить оперативную память для выполнения других процессов. Каждое приложение, помимо всего прочего, имеет уникальный Linux User ID и выполняется в своей виртуальной машине. Естественно, что каждое приложение имеет собственные права, которые присвоены данному User ID. По умолчанию приложение имеет доступ только к собственным ресурсам, но возможны пути экспорта ресурсов другим приложениям. Несколько приложений также могут иметь один User ID – в таком случае они будут иметь и общие ресурсы.

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

В Android приложения используют четыре основных компонента:

Активности (Activities/Activity) – визуальный компонент приложения, отвечающий за пользовательский интерфейс (User Interface, UI). Как простой пример – список контактов на Android-смартфоне является ни чем иным, как Activity, а при нажатии на какой-либо контакт с выводом дополнительной информации – это другая Activity. Грубо говоря, Activity – всё то, во что можно буквально «ткнуть пальцем» и при этом получить какой-то результат. Любое приложение может содержать как множество Activity, так и не одного.

Сервисы (Services) – то, что выполняется приложением, пока оно не находится в фокусе. Например, музыкальный проигрыватель выполняет своё прямое назначение даже когда находится в фоне. В этом и заключается суть работы Service. То есть «сервис» запускается и «висит» в фоне, выполняя те или иные действия. Причем часто «сервисы» могут запускаться вместе с системой. Взаимодействие с Services происходит с использованием интерфейсов.

Широковещательные сообщения (Broadcast Receivers) – также очень важный компонент приложения. Broadcast receiver не имеет видимого интерфейса. Через данный компонент проходит вся информация об определенных действиях или о системе в целом, и задача Broadcast receivers заключается в построение определенной реакции в ответ на это. Но самостоятельно Broadcast receiver действий никаких не выполняет, данный компонент передает сигнал дальше, например, вызывая соответствующее Activity или просто выводя уведомление пользователю.

Поставщики содержимого (Content Providers) – данный тип компонентов передает те или иные данные в распоряжение других приложений. Эта информация может сохраняться в файловой системе, в базе данных SQLite или в другом месте.

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

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

Android транслирует намерения для объявления о системных событиях, например об изменениях в состоянии сетевого подключения или в уровне заряда батареи. Системные приложения в Android, такие как программы дозвона или управления SMS, регистрируют компоненты, отслеживающие заданные намерения, например входящий звонок или получено новое SMS-сообщение, и соответствующим образом реагируют на них.

Также несколько слов о важнейшем файле AndroidManifest.xml, который входит в состав абсолютно всех без исключения приложений и всегда имеет именно такое название. В нем содержится описание всей структуры приложения, будь то Activity, Broadcast Receiver или Service.

Вот мы и разобрались с примерной структурой приложений для Android, и основными «кусочками», из которых состоят программы для данной операционной системы. Более подробное описание прилагается в документации от Google, там всё расписано от «А до Я», и в равной степени сухо, во многих случаях с большим количеством лишней информации. В любом случае, именно официальная документация по Android является наиболее полным источником информации, если нужно во что-либо вникнуть.

Системные требования: Android
Автор/Разработчик: andro-poster
Оф. сайт/Источник: http://fans-android.com/ponyatiya-o-prilozheniyax-dlya-android-i-ix-komponenty/
Как бесплатно качать с файлообменников

Информация

Посетители, находящиеся в группе Гости, не могут оставлять комментарии в данной новости.
  1. А это зачем?
  1. Как по мне, так статья обо всем и ни о чем.
  1. Просто и понятно. Мне достаточно.