Показаны сообщения с ярлыком widget. Показать все сообщения
Показаны сообщения с ярлыком widget. Показать все сообщения

четверг, 17 февраля 2011 г.

Мой Android epic fail..

Наныкал в evernote кучу картинок разных всяких прикольных виджетов-часов для андроида; как есть "час та натхнення" сажусь, пытаюсь нарисовать это в фотошопе и делаю часы очередные

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

"Торговали - веселились, запустили - прослезились" - это про меня; устанавливаю все в телефон, утром часы "стоят" - при этом сервис жив вроде.. Вчера наконец посмотрел лог в телефоне - оказалось что-то убило мой процесс в один прекрасный момент, через время сервис перезапустился - но виджеты "не поднялись"

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

А в попытках найти багу разупростил все назад - нахрен базовые классы, нахрен наследование, код теперь унылый, как погода поздней осенью.. Правда есть магия svn - всегда все можно вернуть (ну если не забыл закомитить конечно.. а я стараюь не забывать), чем все-таки и займусь, как только доделаю разные тесты (потому что в эмуляторе тоже баг наблюдаю достаточно.. причем и там, где вроде и не должно бы быть)..

Например, в принципе понимаю, как сделать фишку: добавляем виджет 4*2 и в окне конфигурации выбираем внешний вид виджета - в принципе может быть любая разметка, но 4*2.. Т.е. можно все мои 4*1 виджеты сгруппировать в один, все 4*2 - в один, не будет такого огромного списка в списке виджетов при добавлении..

з.ы. О "какого оно упало": как показал беглый осмотр списка запущенных сервисов, регулярно падает не только мой (ну в моем телефоне так все происходит по крайней мере) - в списке запущенных сервисов в каждом пункте указывается, сколько сервис работает, так вот все они работают плюс-минус пол-часа одинаковое время.. т.е. убивается регулярно по какой-то причине не только мой сервис, но и практически все остальные

Так что я забил на обижаться - почему так со мной несправедливо, а просто слежу, чтобы при запуске сервиса все что нужно заново поднималось/регилось

пятница, 21 января 2011 г.

Опять часы..

Что-то у меня ни на что, кроме часов, "хотелка" не работает.. Поставил себе WidgetLocker, локскрин, на который можно вешать виджеты, и для него придумываю вот:

Заодно научился в PS делать абсрактные ;) градиенты..

upd: скриншот с эмулятора (блин, где мой усб-кабель!?):

device

среда, 5 января 2011 г.

Еще одни часы..

На НГ подарил малому планшет (простенький гениус), вдруг заинтересуется фотошопом и прочим.. пока играюсь все сам, $50, а масса удовольствия. 6 на 8 дюймов, если верить коробке, можно использовать вместо мышки

Без помощи этого планшета нарисовал эскиз и сделал “по быстренькому” еще один виджет-часы себе (“дизигн” спер с картинки, где анонсировался какой-то плеер на андроиде); собственно делал не с нуля, а добавил в уже существующий проект новую разметку, а в класс обновления данных – код для обновления нового виджета

Вот что получилось:

Untitled-1 На все “задники” не угадаешь с цветом, так что добавлю в настройки “цветовые темы” и направление выравнивания (сейчас вправо)

Рождество скоро ж – для меня это просто еще один выходной, но все равно люблю; просто прусь от песенки:

Скрипка просто молодец

воскресенье, 28 ноября 2010 г.

Android, part промежуточная..

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

среда, 24 ноября 2010 г.

Android widget, part 0.2.1

Собственно я что-то протупил и забоялся, когда писал про 2 "бага" в моем виджете (размер и выход из настроек без сохранения).. вчера не спалось, и я а) в фотошопе немного увеличил цифры, а потом в xml немного увеличил высоту 3-х базовых лайоутов - ведь по идее я говорю андроиду, что мой виджет не меньше таких-то значений, а больше - ну пусть будет больше :) Факт в том, что теперь даже лучше.

б) применение настроек можно делать в событии onStop (кажется) активити настроек - которое (К.О.) возникает, когда активити скрывается, соотв. из обработчика меню я перенес в onStop обновление виджета и настроек - и все работает просто зашибись..

воскресенье, 21 ноября 2010 г.

Andrid widget, part 0.2

Бесполезная часть почти закончилась,дальше будет полезная; полезная – в том смысле, что виджет будет делать хоть что-то, для чего он придуман, показывать время

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

четверг, 18 ноября 2010 г.

Android widget, part 0.1

Итак, сейчас у проекта тестовое активити, которое показывается при старте и показывает внешний вид нашего будущего виджета; в окончательном виде его разметка выглядит примерно так:

среда, 17 ноября 2010 г.

Android widget, part 0

Зуд под коленкой не дает уснуть, требует выплеснуть полученный экспириенс, так что я попробую на пальцах рассказать, как сделать виджет-часы для андроида; на пальцах – потому что (как я до сего времени любил говорить про Си) про яву я не прочитал ни одной книжки, поэтому предметом особо не владею – так, понахватался понемногу отовсюду.

Результатом должно стать вот это:

Результат

При добавлении виджета должен появляться экран настроек, где можно указать – какую программу запускать после тапа по области с датой и часами и как (12/24) выводить время:

Настройки

Начинать надо с начала – с дезигна.