В результате вам понадобится схема для запоминания состояния
В результате вам понадобится схема для запоминания состояния в случае необходимости. Когда обновления не особенно часты — например, каждые несколько секунд — имеет смысл сохранять состояние экземпляра виджета в постоянном хранилище, таком как файл, разделяемые настройки или база данных SQLite. В примерах этой в качестве API-интерфейса для постоянного хранения применяются разделяемые настройки.
Внимание! Для экономии заряда батареи в Google настоятельно рекомендуют выполнять обновления не чаще, чем раз в час, чтобы устройство не пробуждалось слишком часто. Начиная с версии SDK., для таймаута обновления принято ограничение в минут и более.
Для более коротких периодов, исчисляемых секундами, вам придется вызывать метод onUpdate самостоятельно, используя средства класса AlarmManager. При работе с этим классом также появляется возможность не вызывать onUpdate, а вместо этого выполнять его работу в обратных вызовах оповещений. Работа с диспетчером оповещений описана в
Ниже перечислено то, что обычно необходимо сделать в методе onUpdate.
Удостоверьтесь, что активность конфигурирования завершила свою работу; в противном случае просто верните управление. Это не должно быть проблемой в SDK. и последующих выпусках, где задержка предположительно дольше. Иначе может случиться так, http://remdorservis.com/ что onUpdate будет вызван до того, как пользователь завершит настройку виджета в активности конфигурирования.
Извлеките постоянно хранимые данные для этого экземпляра виджета.
Извлеките компоновку представления виджета и создайте с ее использованием объект RemoteViews.
Вызовите методы на RemoteViews для установки значений индивидуальных объектов представления, таких как текст и изображения.
Зарегистрируйте все события onClick для всех представлений, используя ожидающие намерения.
Сообщите AppWidgetManager о необходимости отрисовки RemoteViews с применением идентификатора экземпляра.
Как, между тем, что делает активность конфигурирования изначально, и тем, что делает метод onUpdate, есть немало перекрытий. Поэтому может иметь смысл повторное использование этой функциональности в двух местах.
Обратные вызовы события щелчка на представлении виджета
Как уже было сказано, метод onUpdate сохраняет представления виджета в актуальном состоянии. Представление виджета и его элементы могут иметь собственные зарегистрированные методы обратного вызова, реагирующие на щелчки. Обычно метод onUpdate использует ожидающее намерение, чтобы зарегистрировать действие для события, подобного щелчку. Это действие может затем запустить службу либо активность, такую как открытие браузера.
Вызванная служба или активность может при необходимости обращаться к представлению, используя идентификатор экземпляра виджета и AppWidgetManager. Поэтому важно, чтобы ожидающее намерение позаботилось об идентификаторе экземпляра виджета.
Опубликовал Kest
February 14 2015 13:54:51 ·
0 Комментариев ·
3015 Прочтений ·
• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •
Комментарии
Нет комментариев.
Добавить комментарий
Рейтинги
Рейтинг доступен только для пользователей.
Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.
Нет данных для оценки.
Гость
Вы не зарегистрированны? Нажмите здесь для регистрации.