Android | Михаил Белый

Android | Михаил Белый 

Все про Android

44subscribers

46posts

goals1
$15.66 of $1 410 raised
Поплыву на остров Ко Мадсум кормить диких кабанчиков

Какую Activity использовать в Android

В Android четыре часто используемых класса активити:
• Activity
• ComponentActivity
• FragmentActivity
• AppCompatActivity
По иерархии идут последовательно. Activity – базовый класс. ComponentActivity наследует androidx.core.app.ComponentActivity, который нельзя использовать в коде. Добавлен гуглом как промежуточный слой между android.app.Activity и androidx.activity.ComponentActivity, чтобы менять код без поломок. Далее идут FragmentActivity и AppCompatActivity.

Activity

Базовый класс для создания активити в Android.
• Управляет жизненным циклом.
• Отображает UI (setContentView, findViewById).
• Обрабатывает действия пользователя (onBackPressed).
• Запускает другие компоненты через Intent, получает результаты.
• Сохраняет и восстанавливает состояние (onSaveInstanceState, onRestoreInstanceState).
• Настраивает окно и тему (getWindow, setTheme).
• Получает доступ к ресурсам и конфигурации (getResources, onConfigurationChanged).

ComponentActivity

Добавляет поддержку компонентов AndroidX.
• Поддерживает LifecycleOwner, подписывается на изменения (LifecycleObserver).
• Сохраняет и восстанавливает состояние (SavedStateRegistry).
• Управляет ViewModel (getViewModelStore).
• Регистрирует обработчик кнопки «Назад» (OnBackPressedDispatcher).
• Отображает контент под SystemBars (enableEdgeToEdge).
• Получает результаты активити и пермишенов (registerForActivityResult).
• Устанавливает UI для Compose (setContent).

FragmentActivity

Работает с фрагментами.
• Управляет фрагментами (getSupportFragmentManager).
• Вызывает onAttachFragment, когда фрагмент присоединяется к активити.
• Передаёт результаты пермишенов во фрагменты (onRequestPermissionsResult).
• Обрабатывает результаты активити внутри фрагментов (onActivityResult).
• Сохраняет состояние фрагментов при изменении конфигурации.
• Поддерживает BiometricPrompt для биометрической аутентификации.
AppCompatActivity

AppCompatActivity

Добавляет поддержку обратной совместимости.
• Управляет ActionBar и Toolbar, обрабатывает кнопку «Назад» (onSupportNavigateUp).
• Поддерживает обратную совместимость (AppCompatDelegate), позволяя использовать ActionBar, темы и стили MaterialComponents на старых андроидах (до API 21).
• Автоматически переключает тему (DayNight), подстраиваясь под настройки устройства или время суток.
• Меняет локаль приложения без перезапуска (setApplicationLocales).

Что использовать

• ComponentActivity – если UI на Compose.
• FragmentActivity – если UI на фрагментах.
• AppCompatActivity – если UI на фрагментах, меняется тема и нужна обратная совместимость.
• Activity – если не используются MaterialComponents, UI самописный, код на плюсах.
Subscription levels1

Жалкий детский уровень

$1.41 per month
• Бесконечный респект и признательность 
• Ранний доступ к видео и воркшопам
• Отдельный топик в телеграм-чате с записями реальных Android-собеседований
• Отдельный топик с автоматическими новостями про Android-разработку
+ chat
Go up