УФ3. Intent
Что такое Intent?
Intent переводится как намерение. Intent является объектом, который позволяет взаимодействовать различным компонентам как внутри одного приложения, там и компонентам между приложениями. Несмотря на то, что существует много способов использования Intent выделяют 3 ключевых способа:
Запуск Активити;
Запуска сервиса;
Доставка трансляции.
Существует два вида намерений:
Explicit intents (явное намерение) - в данном намерении указывается конкретный компонент, который мы хоти вызвать, будь то Activity, Service или Broadcast. Обычно такие намерения используются с компонентами вашего собственного приложения, потому что вы точно знаете какое Активити или сервис вы хотите запустить. Например, запустить Активити для вывода текста или запустить сервис, который будет скачивать файл.
Implicit intents (скрытое намерение) - в данном намерении не указывается конкретный компонент, который вы хотите использовать, но указывается действие, которое вы хотите сделать и выбирается приложение, которому вы хотите поручить это действие. Например, если вы хотите показать место на карте пользователю приложения, то вы можете выбрать соответствующее приложение, которое может быть установлено на устройстве пользователя. Android самостоятельно подбирает подходящие для этой задачи приложения. В настройках вашего приложения можно задать фильтры по которым будет производится поиск.
Создание Intent для MainActivity
Создадим Intent для MainActivity. Для этого перейдите в класс MainActivity.
Разберем, что значит каждая строка функции sendMessage
:
Объявление объекта Intent. Для его объявления требуется 2 параметра - Context и класс, на который будет направлено действие. Значением первого параметра является класс из которого мы начинаем Activity, второй параметр указывает на MessageActivity, в которое отправляется сообщение.
Нахождение объекта EditText в который был введен текст.
В переменную message записывается значение объекта EditText (введенный текст) и данное значение конвертируется в строку.
Создается объект с помощью свойства putExtra - первый параметр является ключом объекта, вторым параметром является значение этого объетка, которое берется из переменной message.
Создание Intent для MessageActivity
Создадим Intent, которое будет получать текст изMainActivity
в MessegeActivity
. Для этого мы будем использовать следующий код
Разберем, что значат добавленные строки:
Объявление переменной message и присваивание значение строки, которое было отправлено при помощи свойства putExtra.
Нахождение объекта TextView в который будет введен текст.
Присваивание объекту TextView значение переменной message.
Таким образом было создано приложение, которое передает данные из одного экрана приложения в другой экран. Результат работы можно увидеть на рис. 1.
Контроль
Last updated
Was this helpful?