суббота, 22 января 2011 г.

Named Folders 3.0. Релиз, итоги.

Выложил релиз Named Folders 3.0 - плагина для Far Manager, позволяющего быстро перемещаться между директориями в Far (версия x86, версия x64). С момента начала работы над третьей версией плагина прошло уже четыре месяца.. и 14 билдов.

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

Конвертер PDF в HTML. Вариантов море, а нужного нет.

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

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

Даблклик по виджету на Android

Как известно, даблклика (даблтапа - double tap) на андроиде нет. Но порой требуется, чтобы одинарный и двойной щелчок по виджету приводили к разным действиям. Приходится реализовывать даблклик обходным путем. Например, так, как описано ниже.

вторник, 11 января 2011 г.

Реестр intents

Наткнулся на крайне полезный ресурс
Registry of intents protocols.

С этими интентами под Андроид ведь просто беда.. каждый раз приходится выискивать - какие параметры у какого intent есть. А тут - все по полочкам разложено. Удобно.

воскресенье, 26 декабря 2010 г.

Синглетоны на Android. Как не стукнуться клювом об дерево...

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

Синглетон можно реализовать разными способами. Обычно его реализуют так, чтобы он был доступен в любой точке приложения. Например, в виде класса, в котором все функции статические. Или в виде обычного класса со статичной функцией GetInstance() и приватным конструктором. Главное, учесть при реализации синглетона особенности языка программирования и платформы. Иначе ваше приложение рискует погрязнуть в ворохе непонятных и трудноуловимых багов. Я уже как-то писал об одной такой нетривиальной особенности реализации синглетона на CLI/C++. Оказалось, что и в реализации синглетона под Android есть подобная нетривиальная особенность.