Особенности архитектуры ОС Android. Как работает Intent

Home » android » Особенности архитектуры ОС Android. Как работает Intent
android, Intent, архитектура Android Комментариев нет

Что такое Intent? Каким именно образом Intent участвует в связи между компонентами приложения?
Когда активность вызывает startActivity, этот вызов передается в ОС, компоненту под названием ActivityManager, он в свою очередь, создает экземпляр Activity и вызывает его метод onCreate().
Отметим, что Intent – объект, используемый компонентом(бывают разные – Activity, Service, Broadcast Receiver, Content Provider) для взаимодействия с ОС
Intent – многоцелевое средство пердачи информациии, класс Intent имеет разные конструкторы. Каждый конструктор сообщает о роли интента
например конструктор
public Intent(Context pageContext, Class<?> cls)
указывает на активность для запуска
cls – класс активности для запуска
pageContext – в каком пакете находится объект Class
и такой интент называется явным(explicit), так как запускает активность в текущем приложении(неявный(implicit) интент заупскает активность в другом приложении)

Прежде чем запускать активность ActivityManager ищет в манифесте пакета объявление с именем соответствующим заданному объекту Class, если не найдет – выкидывает ActivityNotFoundException

Значение в интенте передается с помощью дополнения(Extra). putExtra(строка-имя-параметра, значение-параметра)
(строку с именем параметра можно выносить в виде константы в доступный интерфейс)

метод Intent putExtra() возвращает объект Intent, что позволяет пользоваться удобством лаконичностью динамического интерфейса, другими словами возможна такая запись:

 

 

Слушатели, например setOnClickListener() размещаются в методе onCreate() активности.

LEAVE A COMMENT