android: поиск в actionbar

Есть большая проблема: compatibility library не включает ActionBar. К счастью, есть хорошая библиотека, которая реализует экшнбары для младших версиий андроида, а для старших - проксирует вызовы к системным компонентам. Но и тут не всё гладко: сейчас нет полноценной реализации компонента SearchView(UI для строки поиска).

Есть несколько костылей способов как решить эту проблему. На просторах сети я нашёл библиотеку MenuItemSearchAction которая реализует функциональность SearchView для старых андроидов. По сути - эта "библиотека" - всего лищь несколько классов которые оборачивают создают MenuItem и оборачивают EditText, вешая на них обработчики событий. Я несколько переделал этот компонент: теперь он использует встроенный SearchView на современных платформах и создаёт свой, если в системе не нашлось.

Read more

Android: альтернативы java


Java - действительно хороший, простой и стабильный язык. Код, написанный десять лет назад будет не только работать на современных JVM, но должен компилироваться.

Выбор разработчиков андроида в качестве языка программирования java вполне понятен: популярная платформа, managed code, множество готовых библиотек, понятный и простой код.

Read more

Android: background 2.0

Для одного из наших приложений "Говорящие вещи" потребовалось сделать яркий, жизнерадостный, но не отвлекающий фон. Мы перебирали несколько разных вариантов с deviantart (где средний фон - 500кб, OMG), но почему-то смотрелось не очень внушающе(растяжки, отвлекающие цвета).

В интернетах наткнулся на пост товарища @gobozov: Android. Tiled background with diagonal lines, как говорится, inspired by .. :). В котором был пример стильного фона (stripes + полупрозрачный градиент). Выглядит - круто.

В его варианте используется tile background как фон Layout + ImageView с градиентом. Я попытался чуть-чуть упростить и уменьшить количество файлов.

Read more

Паттерн MVC

Моя интерпретация широко известного паттерна.

Это классический подход для построения веб-приложений, который находит применение практически везде

Он говорит от том, что есть 3 основных компонента:

  • Model - данные
  • View - предстваление
  • Controller - бизнес логика

Read more

Android: живые зимние обои 2012

Зима вроде на улице. Как и полагается все - от муниципальных органов до ларьков создают зимнее/новогоднее настроение своими вывесками, акциями, украшениями и рекламой.

Решил поучаствовать  в этом безумии - сделал зимние обои для андроида. Была цель - быстро и просто сделать вброс и посмотреть как на него отреагируют юзеры.

Так и получилось - первый релиз сделал за полтора дня (порядка 8 часов ушло от начала разработки, прямо в маршрутке, до паблишинга в маркете). Потом ещё ушло порядка 8 часов на всякие улучшательства.

Read more

Java: контролл корректировки времени

В середине 2011 года вышел закон, в котором отменяется певод времени на летнее. #СПАСИБОСАМИЗНАЕТЕЗАЭТО.

Вот только кто софту скажет что всё поменялось? В частности в джаве есть косяки Оракл не торопится выпускать апдейт под венду, который исправляет время.
Напомню, что даже если в венде поставленны патчи и оно показывается правильное время, джава будет по-прежнему показывать GMT+3 (вместо GMT+4), т.е. на час раньше.

Read more

Проект: GeoChat


Долгое время я со своей некогда командой разрабатывал несколько геолокационных приложений. Ага, это были стартапы. Сейчас не хочу даваться в подробности провала, по крайней мере покачто. Ближнее окружение в курсе, а остальным не очень то и нужно знать :)

Read more

avr: случайнее random()

В простых встраиваемых устройствах есть большая проблема: очень хочется рандом. Нормальный такой рандом. Но если подумать, то контроллеру совершенно не от чего "рандомизировать" генератор случайных чисел. Ибо каждый старт контроллера "жизнь начинается с 0".

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

Read more

Ресурсы в SWING приложении

В swing-приложениях при работе с встроенными ресурсами (такие как изображения) есть разница, откуда эти ресурсы подцепляются в зависимости от условий запуска. Это может быть запуск из IDE а может запуск JAR файла

Read more

nodejs: mysql-libmysqlclient и русские буквы

При работе с библиотекой mysql для ноды(уверен это будет с любой либой) возникает маленькая проблемка - ываывÐ. Это всё из-за кодировки в которой по умолчанию работает сервер базы данных.

Как исправить?

Read more