воскресенье, 20 октября 2013 г.

Ещё один проигрыватель аудиокниг под Андроид

Так получилось что я люблю аудиокниги и с приобретением смартфона на Андроиде решил использовать его в качестве проигрывателя. Попробовав несколько различных платных и бесплатных приложений пришёл к решению что надо писать свой. Основная претензия к ним: глючно работает сохранение текущей позиции в книге. В Akimbo вообще периодически у текущей книги сбрасывается позиция на начало. У других просто проблемы с воспроизведением в каких-то местах. Например, стоит прервать воспроизведение и потом продолжить его, как может перескочить на неверную позицию. Самым лучшим пока считаю Audiobook 303, но он так же подвержен произвольным скачкам позиции воспроизведения.

Вторая претензия - это попытка захавать все mp3 с SD-карточки и рассортировать в своей базе "коллекции". А я хочу просто указать каталог на файловой системе и не нужно пытаться за меня организовать коллекцию.

И так решил написать свой плеер

среда, 16 октября 2013 г.

Смена серийного номера Android-устройства

Многие китайские производители Android-девайсов не заморачиваются на присваивание своим поделкам уникальных серийных номеров. По крайней мере в софте. И можно столкнутся с проблемой когда одновременно подключено более 1 устройства с одинаковым серийником. В таком случае adb будет ругаться и чтобы залить и отлаживать своё приложение нужно отключать одно из устройств:
[2013-10-16 00:03:10 - MyAwesomeApp] Failed to install MyAwesomeApp.apk on device '0123456789ABCDEF': adb rejected install command with: more than one device
[2013-10-16 00:03:10 - MyAwesomeApp] com.android.ddmlib.AdbCommandRejectedException: more than one device
[2013-10-16 00:03:10 - MyAwesomeApp] Launch canceled!
Это никуда не годится. Имея root-привелегии можно решить эту проблему.

воскресенье, 13 октября 2013 г.

Кое-что о протоколе ccTalk

Используется такой протокол во всевозможных аппаратах, работающих с приёмом/выдачей денег для связи контроллера с устройствами приёма/выдачи денег. Это торговые автоматы, игровые, терминалы оплаты. Это не единственный протокол у них, но один из стандартных. Однако ничто не запрещает использовать его и в других применениях, например для опроса клавиатуры, связи с ЖК-дисплеем и т.д. (такие варианты спецификацией даже предусмотрены).

Позволяет подключать на одну шину много устройств, прост в реализации. Подробные спецификации есть на сайте http://www.cctalk.org/ в 4 pdf-файлах, причём с примерами реализации для популярных устройств (монетоприёмники, купюроприёмники).

В этой записи я расскажу про некоторые основные моменты, которые не становятся понятны с первого прочтения спецификации.

четверг, 10 октября 2013 г.

Переключение раскладки по Caps Lock

Привычка - очень сильная вещь. Привычка переключать раскладку клавиатуры по Ctrl+Shift оказалась чрезвычайно долгоиграющей.

Регулярно испытывал неудобства, например, в Eclipse где многие нужные хоткеи состоят из Ctrl+Shift+что-то. А поскольку данная комбинация перехватывается иксами (или кем там в DE), то хоткеи эти в программах не работают. Долго мучился из-за этого. Причём Caps Lock уже давно отключен за ненадобностью и вредностью - легко задеть его случайно.

Настало время избавляться от вредной привычки, тем более что ненужная кнопка рядом находится незадействованная.

В KDE изменить хоткей для переключения раскладки элементарно (олдфаги помнят в 3.х версии это был тот ещё квест). А вот в LXDE+Openbox оказалось чуточку сложнее. Решение ниже