Что такое Activity

Ответ

Activity — это ключевой компонент Android, представляющий отдельный экран с UI. Каждая Activity имеет жизненный цикл (onCreate, onStart, onResume и т.д.), управляемый системой.

Пример:

class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
    }
}

Особенности:

  • Одна Activity может запускать другую через startActivity().
  • Жизненный цикл критичен для управления ресурсами (например, освобождение памяти в onDestroy()).
  • Конфигурации (например, поворот экрана) могут уничтожать и пересоздавать Activity.

Ответ 18+ 🔞

А, ну это же классика, ёпта! Смотри, есть у тебя в андроиде такая штука — Activity. Это, грубо говоря, один экран твоего приложения. Окно, страница, хуй с горы — называй как хочешь.

Вот представь: открыл ты приложение — это одна Activity. Ткнул кнопку "Настройки" — бац, выскочила другая Activity. Всё просто, как три копейки.

Но фишка в том, что у каждой этой Activity есть своя жизнь, блядь, целый цикл! Как у бабочки, только с кодом. Система сама им рулит, вызывает разные методы в нужный момент. Ты в них пишешь, что должно происходить.

Вот смотри, самый главный метод — onCreate(). Тут всё начинается, жизнь только-только стартанула. Ты обычно тут раздуваешь интерфейс из XML-макета.

class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main) // Вот тут твой экран надувается, как шарик
    }
}

А теперь лови важные фишки, а то потом охуеешь:

  • Запуск другой Activity: Одна твоя Activity может пнуть другую на сцену командой startActivity(). Типа "валяй, братва, теперь твоя очередь светить". Это основа всей навигации, без этого нихуя не сделаешь.
  • Жизненный цикл — это святое: Тут нельзя косячить, ёпта. Если пользователь свернул приложение или получил звонок, система начнёт вызывать другие методы типа onPause() или onStop(). А если совсем память кончится — то и onDestroy(). Вот тут, блядь, критически важно не забывать освобождать ресурсы: закрывать соединения с базой, останавливать музыку, а то приложение будет жрать батарею и память, как не в себя. Доверия к таким разработчикам — ноль ебать.
  • Поворот экрана — это пиздец: Вот самая частая засада для новичков. Пользователь повернул телефон — и система по умолчанию полностью уничтожает твою текущую Activity, а потом создаёт её заново! onDestroy() -> onCreate(). И всё, что у тебя было в переменных (если не сохранил) — накрылось медным тазом. Пользователь введёт текст в поле, повернёт телефон, а поле — пустое. Удивление пиздец, он же думает, что приложение глючное. Поэтому надо использовать savedInstanceState или ViewModel, чтобы данные не терялись. Иначе будешь потом как полупидор — и не программист нормальный, и не дизайнер.

Короче, Activity — это фундамент. Разберись с её жизнью, и половина проблем отпадёт. А не разберёшься — будет тебе хиросима с багами.