Виджеты домашнего экрана (home screen widgets) — это представления, которые могут отображаться на домашнем экране и часто обновляться. Как и для обычного представления, внешний вид и поведение виджета определены в XML-файле компоновки. Но вдобавок к компоновке виджета должно быть определено пространство, которое понадобится виджету на домашнем экране.
Определение виджета также включает пару Java-классов, отвечающих за инициализацию представления и частое его обновление. Эти Java-классы управляют жизненным циклом виджета на домашнем экране. Указанные классы реагируют на перетаскивание виджета на домашний экран, его обновление, а также удаление при перетаскивании в корзину.
На заметку! Представление и соответствующие Java-классы организованы таким образом, что они не подключены друг к другу. Например, любая служба или активность Android может получить представление, используя идентификатор его компоновки, заполнить представление данными (подобно заполнению шаблона) и отправить его на домашний экран. Как только представление отправлено на домашний экран, оно отсоединено от лежащего в основе Java-кода.
Определение виджета содержит, как минимум, следующие компоненты.
Компоновка представления, отображаемого на домашнем экране, наряду с размером, который оно должно иметь, чтобы (минимум) уместиться на домашнем экране. Имейте в виду, что это просто представление без каких-либо данных. Обновление этого представления — обязанность Java-класса.
Таймер, определяющий частоту обновлений.
Java-класс широковещательного приемника, называемый поставщиком виджетов, который может реагировать на обновления таймера, чтобы некоторым образом изменять представление, наполняя его данными.
Как только виджет определен и Java-классы предоставлены, виджет готов к перетаскиванию его пользователем на домашний экран.
Перед тем, как продемонстрировать реализацию виджета с нуля, мы сначала дадим обзор того, как с ним взаимодействует конечный пользователь.
Виджеты домашнего экрана с точки зрения пользователя
Функциональность виджетов домашнего экрана в Android дает возможность выбрать предварительно запрограммированный виджет для помещения на домашний экран. Будучи помещенным туда, http://www.seoded.ru/ssilki/money-work/partnerskie-programmy.html виджет позволит при необходимости конфигурировать себя посредством активности (определенной как часть пакета виджета). Очень важно понять это взаимодействие, прежде чем углубляться в детали реализации виджета.
Мы собираемся исследовать виджет под названием Birthday Widget (“День рождения”), который был разработан специально для этой. Его исходный код будет представлен далее . Но сначала мы используем его в качестве примера для ознакомления. Поскольку исходный код будет показан ниже, вам по что придется читать текст и рассматривать картинки, а не смотреть на виджет на экране. Если вы тщательно изучите наши пояснения и иллюстрации, то поймете природу и поведение виджета Birthday Widget, которые окончательно прояснятся, когда мы приступим к его кодированию.
Начнем с нахождения виджета и создания его экземпляра на домашнем экране.
Опубликовал Kest
February 14 2015 13:41:21 ·
0 Комментариев ·
3008 Прочтений ·
• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •
Комментарии
Нет комментариев.
Добавить комментарий
Рейтинги
Рейтинг доступен только для пользователей.
Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.
Нет данных для оценки.
Гость
Вы не зарегистрированны? Нажмите здесь для регистрации.