Главная » Разработка для Android » Использование Фильтров намерений для создания дополнений и обеспечения расширяемости

0

Теперь вы знаете, как создавать неявные  Намерения для запуска Актив- ностей, но самое интересное еще впереди.

Кроме всего прочего, Android позволяет новым пакетам расширять функции уже существующих  приложений, используя Фильтры намерений, чтобы динамически,  во время выполнения программы,  добавлять  новые пункты меню.

Благодаря этому вы можете создавать  для Активностей подключаемые модули, получая потенциальную выгоду от новой функциональности, кото- рую могут в себе нести еще не созданные программные компоненты. Таким образом, не придется  изменять  или заново собирать свои проекты.

Метод addIntentOptions из класса Menu позволяет указывать Намерение, описывающее данные для построения меню. Android принимает это На- мерение и возвращает  все действия, заданные для Фильтра намерений, кото- рые отвечают указанным  данным. Для каждого действия  создается объект MenuItem, содержащий  текст из соответствующей метки Фильтра.

Изящность такой концепции проще всего объяснить  на примере. Если данные вашей Активности отображаются в виде списка мест, контекстное меню для каждого элемента должно содержать пункты ???????? и ?????????? ???????. Заглянем на несколько лет вперед: вы создали приложение, которое взаимодействует с вашим автомобилем, позволяя управлять им с помощью телефона.  Поскольку меню создается  динамически,  когда новый Фильтр намерений, содержащий  действие DRIVE_CAR, добавляется в узел Актив- ности в манифесте,  Android  автоматически включает  это действие  в ваше приложение в виде объекта MenuItem.

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

Источник: Майер P. Android 2 : программирование приложений для планшетных компьютеров и смартфонов : [пер. с англ. ] / Рето Майер. — М. : Эксмо, 2011. — 672 с. — (Мировой компьютерный бестселлер).

По теме:

  • Комментарии