Рубрики
Java UML

Про App Widgets в Android

На сегодняшний день уже опубликовано большое количество учебного материала, в котором подробно, по шагам описывается процесс создания простого App Widget в стиле "HelloWorld". Под App Widget-ами подразумеваются приложения, которые можно поместить на основной экран в ОС Android. Как правило это различные индикаторы (состояние батареи, яркость экрана, погода, твитты, пробки и т.д.). На мой взгляд лучшим руководством является статья, размещенная непосредственно на сайте гугл.

Здесь мне хотелось больше уделить внимание общей схеме работы с AppWidget-ами и некоторым особым моментам работы с ними. Публикация сделана на основе моего собственного опыта и актуальна на момент написания публикации, но поскольку платформа Android очень быстро развивается, при изучении этой статьи в будущем прошу сверяться с текущей официальной документацией.

Почему виджеты.

Идея попробовать написать свои виджеты возникла у меня давно, но до реальных опытов руки все-таки не доходили. По большому счету, для меня основным мотивов их создания было и остается любопытство и желание сделать что-то забавное.
В итоге в декабре, перед новым годом все-таки удалось выкроить пару недель для плотной работы с ними.
Для пробы были сделаны и выложены на Маркете пара виджетов (бесплатных):

1. Рождественская ёлка, на игрушках которой загораются различные индикаторы (громкость, включен ли WiFi, заряд батареи и т.д.)

widget_tree
Сhristmas Tree Widget

2. Робот. Тоже пять-в-одном виджет - показывает уровень громкости, заряд батареи, включен ли Wi-Fi, 3G, вибро-режим.

widget_robot
Face Widget

Приложения сейчас не только бесплатные, но и без рекламы. Я просто еще не начинал разбираться с работой AdMob SDK. Возможно, если все-таки разберусь, напишу об этом позже.

Итак.

Принципиальные отличия в работе с виджетами и диаграмма классов.