Виджеты домашнего экрана Android на первый взгляд кажутся простыми. Однако, приступив к написанию кода виджетов, вы обнаружите, что с ними связано немало нюансо.
Если ваш виджет не требует никакого управления состоянием и его не надо вызывать более чем несколько раз в день, то такой виджет написать очень просто.
Следующий уровень сложности виджетов — тот, при котором нужно управлять состоянием, но вызывать виджет нечасто; примером может служить продемонстрированный выше виджет. Виджеты такого рода могут выиграть от применения инфраструктуры управления состоянием. В этой мы показали простейшую такую инфраструктуру. Мы предполагаем, что вскоре появятся более изощренные инфраструктуры, либо же вы разработаете собственный вариант — надежный и гибкий.
Виджеты следующего уровня сложности должны вызываться с частотой, исчисляемой секундами или миллисекундами. Для таких виджетов потребуется предусмотреть собственные вызовы для обновления с использованием класса AlarmManager. Также вместо платформы постоянного хранения, скорее всего, понадобится служба для частого управления состоянием. Например, для реализации виджета секундомера понадобится таймер, срабатывающий, по крайней мере, каждую секунду, и также нужно будет отслеживать значения счетчиков, что подразумевает поддержку состояния. Класс AlarmManager и длительно выполняющиеся службы подробно рассматривались в предшествующих х.
Еще один фактор, который следует учитывать, состоит в том, что класс RemoteViews, на который полагается инфраструктура представлений виджетов, не имеет механизма для непосредственного редактирования виджета (по крайней мере, официально документированного). RemoteViews также накладывает ограничения на типы представлений и компоновок, http://xn--80abwaa1a3aj3c.xn--80adxhks/%D0%B3%D0%BE%D1%80%D0%BE%D0%B4%20%D1%81%D1%82%D0%BE%D0%BB%D0%B8%D1%86.htm которые можно использовать. У вас нет прямого контроля над представлениями, а есть только контроль через методы, предлагаемые классом RemoteViews.
Исходя из текущего проектного решения и предназначения виджетов, в Google, похоже, исходят из того, что виджеты в основном попадают в две первых категории. В будущих выпусках имеется огромный потенциал для расширения инфраструктуры виджето.
Опубликовал Kest
February 14 2015 14:02:57 ·
0 Комментариев ·
3222 Прочтений ·
• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •
Комментарии
Нет комментариев.
Добавить комментарий
Рейтинги
Рейтинг доступен только для пользователей.
Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.
Нет данных для оценки.
Гость
Вы не зарегистрированны? Нажмите здесь для регистрации.