Создание и запуск нового Activity.

Что такое Activity?

Класс Activity является важным компонентом приложения для Android, а способ запуска и объединения Activity является фундаментальной частью модели приложения платформы. В отличие от парадигм программирования, в которых приложения запускаются с помощью метода main (), система Android инициирует код в экземпляре Activity, вызывая определенные методы обратного вызова, которые соответствуют определенным этапам его жизненного цикла.

Мобильное приложение отличается от своего настольного аналога тем, что взаимодействие пользователя с приложением не всегда начинается с одного и того же места. Вместо этого путешествие пользователя часто начинается недетерминированно. Например, если вы откроете почтовое приложение на главном экране, вы можете увидеть список писем. Напротив, если вы используете приложение для социальных сетей, которое затем запускает ваше почтовое приложение, вы можете перейти непосредственно к экрану почтового приложения для составления электронного письма.

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

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

Большинство приложений содержат несколько экранов, что означает, что они включают несколько Activity. Как правило, одно Activity в приложении указывается как основное Activity, которое является первым экраном, который появляется, когда пользователь запускает приложение. Затем каждое Activity может запускать другое Activity для выполнения различных действий. Например, основным Activity в простом приложении электронной почты может быть экран, на котором отображается почтовый ящик. Отсюда основное Activity может запускать другие Activity, которые предоставляют экраны для таких задач, как написание электронных писем и открытие отдельных электронных писем.

Хотя Activity работают вместе, чтобы сформировать единый пользовательский интерфейс в приложении, каждое Activity лишь слабо связано с другими Activity; обычно существуют минимальные зависимости между Activity в приложении. Фактически, Activity часто запускают Activity, принадлежащие другим приложениям. Например, приложение браузера может запустить Activity «Поделиться» в приложении социальной сети.

Чтобы использовать Activity в своем приложении, вы должны зарегистрировать информацию о них в манифесте приложения и соответствующим образом управлять жизненными циклами Activity

Как объявить Activity в файле AndroidManifest.xml

Чтобы ваше приложение могло использовать Activity, вы должны объявить действия и некоторые их атрибуты в манифесте.

Чтобы объявить Activity, откройте файл манифеста и добавьте элемент <activity> в качестве дочернего элемента <application>. Например:

<manifest ... >
 
<application ... >
     
<activity android:name=".ExampleActivity" />
      ...
 
</application ... >
  ...
</manifest >

 

Единственный обязательный атрибут для этого элемента – android: name, который указывает имя класса Activity. Вы также можете добавить атрибуты, определяющие характеристики Activity, такие как метка, значок или тема пользовательского интерфейса. Дополнительные сведения об этих и других атрибутах см. В справочной документации по элементу .

Внимание: После публикации вашего приложения, вы не должны изменять название  activity. если вы это сделаете это может привести к выходу из строя какой либо части приложения. Для дополнительной информации смотрите : Things That Cannot Change.

Как создать Activity (Простой способ)

Чтобы создать Activity нужно сделать следующее:

  1. В окне Project (панель слева) жмем правую кнопку мышки на папку app и выбираем: New > Activity > EmptyActivity
  2. В появившемся окне пишем название для нашего нового Activity и разметки (layout)   и жмем Finish.

Android Studio автоматически создает следующие элементы:

  1. Создает Activity файл c названием которое мы выбрали.
  2. Создает разметку экрана (layout) которую мы выбрали.
  3. Добавляет обязательный элемент <activity> нашего нового Activity в манифест.

Запуск Activity с помощью Intent

Intent – это объект, который обеспечивает привязку между отдельными компонентами, например двумя Activity. Intent представляет намерение приложения что-то сделать. Вы можете использовать Intent для самых разных задач, но на этом уроке наш Intent запускает другое Activity.

Для запуска Activity например представим что у нас есть Activity которое называется TestActivity1 нам просто нужно написать следующее:

val intent = Intent(this, TestActivity1::class.java)
startActivity
(intent)

Мы можем сделать это например при нажатии на кнопку. Допустим у нас есть слушатель нажатий onClickOpenTestActivity1(), если мы в нем пропишем эти строки то при нажатии на кнопку запустится TestActivity1.

 fun onClickOpenTestActivity1(view: View) {
       

       
val intent = Intent(this, TestActivity1::class.java)
        startActivity
(intent)


   
}

Мы можем при запуске другого Activity с помощью Intent передать туда какую либо информацию, но об этом следующий урок…

8 комментариев для “Создание и запуск нового Activity.”

  1. При перестановке интент-фильтра из МайнАктивити в тестовый, фильтр подсвечивается желтым. При попытке запуска вылетает ошибка.
    Сам ТестАктивити выглядит чуть иначе:

    В чем может быть затык? В родном варианте

    все работает

    а вот так:

    нифига(

  2. Android Studio 2022 ругается на startActivityForResult , говорит устарел и надо использовать ActivityResultContract , но как использовать я не разобрался (

Добавить комментарий

Ваш адрес email не будет опубликован.