## Android Активность Программ
### Что такое Активность?
Активность в Android представляет собой отдельный экран в приложении, который пользователь может видеть и взаимодействовать с ним. Она отвечает за управление пользовательским интерфейсом и логикой для конкретного экрана, такого как экран входа в систему, экран списка или экран настроек.
### Жизненный Цикл Активности
Каждая активность проходит через ряд состояний своего жизненного цикла, как показано ниже:
#### 1. onCreate
— Создается новая активность и загружается ее макет.
— Используется для инициализации активности и любых необходимых объектов.
#### 2. onStart
— Активность становится видимой для пользователя.
— Используется для запуска фоновых задач и регистрации слушателей.
#### 3. onResume
— Активность получает фокус и готова к взаимодействию с пользователем.
— Используется для обновления пользовательского интерфейса и загрузки данных.
#### 4. onPause
— Активность теряет фокус, но все еще видима.
— Используется для сохранения состояния активности и подготовки к остановке.
#### 5. onStop
— Активность полностью невидима для пользователя.
— Используется для остановки фоновых задач и удаления слушателей.
#### 6. onDestroy
— Активность уничтожается, и все ее ресурсы освобождаются.
— Используется для тщательной очистки и освобождения памяти.
### Типы Активностей
В Android существует три основных типа активностей:
#### 1. Стандартные Активности
— Представляют собой наиболее распространенный тип активности, который можно использовать для отображения пользовательского интерфейса и выполнения задач.
#### 2. Диалоговые Активности
— Специальные активности, которые отображаются как всплывающие окна или диалоги. Они используются для запроса ввода или отображения информации.
#### 3. Фрагментные Активности
— Активности, которые содержат фрагменты, представляющие собой отдельные модульные части пользовательского интерфейса. Фрагменты можно динамически добавлять, удалять и заменять.
### Создание Активности
Чтобы создать активность, необходимо выполнить следующие шаги:
1. Создайте новый класс, который наследуется от `Activity`.
2. Переопределите методы жизненного цикла для управления состоянием активности.
3. Определите макет активности с помощью XML или в коде Java.
4. Привяжите макет активности к классу активности.
### Управление С стеком Активностей
Стек активностей представляет собой историю загруженных активностей. Он позволяет пользователям перемещаться между экранами с помощью кнопок «Назад» и «Домой».
— `finish()` — Удаляет активность из стека, завершая ее.
— `startActivity()` — Запускает новую активность, добавляя ее в стек.
— `startActivityForResult()` — Запускает активность и ожидает результата.
### Полезные Советы
— Используйте фрагменты для модульных пользовательских интерфейсов.
— Внимательно обрабатывайте методы жизненного цикла, особенно `onPause()` и `onDestroy()`.
— Используйте библиотеку поддержки `AppCompat` для обеспечения совместимости со старыми версиями Android.
— Используйте инструменты отладки Android Studio для отслеживания жизненного цикла активности и устранения неполадок.
## Другие Компоненты Приложения
Помимо активностей, приложения Android также состоят из других важных компонентов:
### Сервисы
— Выполняют задачи в фоновом режиме, независимо от состояния активности приложения.
### Приемники Вещания
— Реагируют на системные события, такие как изменения состояния сети или появления новых сообщений.
### Контент-провайдеры
— Управляют доступом к данным из других приложений или систем.
### Фрагменты
— Представляют собой отдельные части пользовательского интерфейса, которые могут быть динамически добавлены и удалены из своих родительских активностей.
### Задачи и Стеки Задач
— Организуют приложения и их активности в отдельные группы, которые могут работать независимо друг от друга.
### Дел-объект
— Обеспечивает доступ к общим ресурсам, таким как базы данных и настройки, в различных компонентах приложения.
### Манифест Приложения
— Определяет структуру приложения, включая разрешения, компоненты и основные настройки.