Главная » Разработка для Android » Использование интерфейса TransformFilter

0

TransformFilter дает больше свободы для форматирования текстовых строк, изменения внешнего вида генерируемых ссылок. Отделение текста ссылки от целевого пути URI позволяет  менять способ вывода текстовых данных на экраны.

Чтобы задействовать интерфейс TransformFilter, необходимо переопреде- лить метод transformUrl. Он начнет вызываться при нахождении совпаде- ния. В качестве параметров он принимает регулярное  выражение  и строку URI,  которую  должен  создать. Вы можете изменить  совпавшую  строку и вернуть  путь URI  в качестве цели, подходящей  для отображения с по- мощью другой программы.

Реализация интерфейса TransformFilter, приведенная в листинге 5.16, пре- образует совпавшую строку в путь URI, возвращаемый в нижнем регистре.

Листинг 5.16. Использование TransformFilter для Linkify

class MyTransformFilter implements TransformFilter {

public String transformUrl(Matcher match, String url) {

return url.toLowerCase();

}

}

Использование Намерений для трансляции событий

Намерения, будучи системным механизмом для передачи сообщений, способны отправлять структурированные данные от процесса к процессу.

До сих пор вы использовали Намерения для запуска новых программных компонентов, но с их помощью также можно анонимно передавать сообще- ния между разными  частями  приложений, вызывая  метод sendBroadcast. В своих программах вы можете реализовать Широковещательные приемники для отслеживания этих Намерений и ответа на них.

Широковещательные намерения используются для объявления о систем- ных или прикладных событиях, выводя событийную программную модель за рамки единственного приложения.

Трансляция Намерений помогает сделать приложение более открытым. Передавая событие с Намерением, вы получаете возможность (и предостав- ляете ее другим разработчикам) реагировать  на него без необходимости модифицирования оригинальной программы. Внутри своего приложения вы можете отслеживать Широковещательные намерения, чтобы заменить или улучшить стандартные  (или сторонние) компоненты,  а также реагировать на системные изменения и события в других приложениях.

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

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

По теме:

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