Проблема
Приложение Android состоит из многих компонентов, природу и взаимодействие которых необходимо понять, чтобы работать эффективно.
Обсуждение
Приложение для платформы Android состоит из одного или нескольких следующих компонентов, написанных в виде классов Java.
- Активность (Activity) охватывает визуальные компоненты (представления) отдельного экрана, а также код, который выводит на экран данные и может реагировать на события, вызываемые пользователем. Почти каждое приложение имеет по крайней мере один класс
- Служба (Service) — это компонент, который не имеет пользовательского интерфейса и может работать в течение более длительного периода времени, чем активность. Два основных вида использования служб — выполнение продолжительных задач (например, музыкальный проигрыватель) и задач средней продолжительности без привязки потока, обрабатывающего события от пользовательского интерфейса.
- Широковещательные приемники (broadcast receivers) менее распространены и используются для реагирования на общесистемные события, такие как потеря сетевого соединения или восстановление связи, низкий уровень заряда батареи, перезагрузка системы и т.д.
- Провайдеры контента (content providers) также являются относительно редкими и используются, когда одному приложению необходимо разделить свои данные с другими приложениями; они также могут использоваться с адаптерами синхронизации.
- Адаптеры синхронизации (sync adapters) синхронизируют данные с облачными службами; наиболее известными примерами являются приложения Contacts и Calendar на устройстве, которые можно легко синхронизировать с вашей учетной записью
Ваш код не создает эти объекты с помощью оператора new, как в обычной программе на языке Java, а запрашивает обращение к активности, службе и т.д., используя объект под названием намерение (intent), который указывает на ваше желание что-то сделать. Намерение может запускать активность в вашем приложении (по имени класса), запускать активность в другом приложении (путем указания типа контента и другой информации), запускать службы и запрашивать другие операции. Взаимодействие этих компонентов показано на рис. 1.
Рис. 1. Компоненты приложения для платформы Android
Справочная документация
Каждый разработчик приложений для платформы Android должен, вероятно, сохранить, по крайней мере, следующие закладки или избранные ссылки в браузере для получения быстрой справки в любое время.