Каковы основные компоненты Android-приложений (активити / фрагмент / сервис / интент-фильтр)?

Основные компоненты Android-приложений — это строительные блоки, с помощью которых создаются функциональные и интерактивные приложения. Каждый компонент имеет свою роль и взаимодействует с другими через систему Android.


1. Activity (Активити)

  • Что это: отдельный экран приложения, с которым пользователь может взаимодействовать.

  • Роль: отображение UI и обработка пользовательских действий.

  • Жизненный цикл: onCreate() → onStart() → onResume() → onPause() → onStop() → onDestroy().

  • Пример: главный экран, экран профиля, экран настроек.


2. Fragment (Фрагмент)

  • Что это: часть интерфейса, которая может быть встроена в Activity.

  • Роль: позволяет разделять UI на переиспользуемые блоки, управлять динамическим интерфейсом.

  • Жизненный цикл: подобен Activity, но зависит от жизненного цикла хост-Activity.

  • Пример: список элементов в Master-Detail интерфейсе, вкладки.


3. Service (Сервис)

  • Что это: компонент для выполнения фоновых операций без UI.

  • Роль: поддержка долгих процессов (например, музыка, загрузка файлов, синхронизация данных).

  • Виды:

    • Started Service: запускается и работает в фоне до остановки.

    • Bound Service: предоставляет интерфейс для взаимодействия с другими компонентами.

  • Пример: музыкальный плеер, GPS-трекер в фоне.


4. Broadcast Receiver (Приёмник широковещательных сообщений)

  • Что это: слушатель системных или пользовательских событий.

  • Роль: реагирует на события, даже если приложение не активно.

  • Пример: уведомление о смене сети, получение SMS, запуск AlarmManager.


5. Content Provider (Поставщик данных)

  • Что это: компонент для доступа и обмена данными между приложениями.

  • Роль: предоставляет стандартный интерфейс для CRUD операций над базой данных или файлами.

  • Пример: контакты, медиафайлы, сохранённые заметки.


6. Intent и Intent-Filter

  • Intent: объект, используемый для связи компонентов, запуска Activity, Service или передачи данных.

    val intent = Intent(this, DetailActivity::class.java)
    startActivity(intent)
  • Intent Filter: описывает, какие Intents компонент может обрабатывать.

    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>

Итог

Основные компоненты Android-приложений:

  1. Activity — экран приложения.

  2. Fragment — часть интерфейса внутри Activity.

  3. Service — фоновые задачи.

  4. Broadcast Receiver — реакции на события.

  5. Content Provider — обмен и хранение данных.

  6. Intent / Intent Filter — механизм связи между компонентами.

Last updated

Was this helpful?