После поста о подходе Apple к кодированию видео в JPEG, решил рассказать о своем подобном «велосипеде» под Android.
В своем мобильном проекте решили мы сделать превьюшки оружия не статической картинкой, а видео. Подразумевалось, что художники нарисуют красивые анимации, может даже в 3д, но что-то не сложилось и нам выдали простейшие зацикленные 1-1.5 секундные ролики в разрешении 256х256. В iOS версию они встроились замечательно, а вот в Android пришлось повоевать с MediaPlayer и SurfaceView, но все-равно получились некоторые «корявости» — содержимое SurfaceView не перемещалось вслед за родительским View, была заметная пауза при воспроизведении, и пр.
Разумным решением было бы разбить анимации на кадры и оформить в xml для AnimationDrawable, но для 15 видов оружия это значило бы мусорку из 5000+ кадров по 10-15 кб каждый. Потому была сделана своя реализация AnimationDrawable, работающая с sprite sheet и относительно быстрый метод конверсии видео в такой формат.
Рубрика «java» - 293
Видео последовательность в Drawable
2012-09-19 в 11:36, admin, рубрики: android, animation, drawable, java, анимация, велосипед, видео, Работа с видео, Разработка под android, метки: android, animation, drawable, java, анимация, велосипед, видеоКурс Algorithms от Coursera (1-3 недели обучения)
2012-09-18 в 21:38, admin, рубрики: coursera, java, Алгоритмы, Учебный процесс в IT, метки: coursera, java, Алгоритмы Месяц назад несколько раз на Хабре проскакивали статьи о замечательном ресурсе Coursera, где можно пройти курсы обучения по различным направлениям. Среди прочего меня очень заинтересовал курс «Алгоритмы» (часть 1), на который я подписался и начал его изучать. Сейчас курс приближается к завершению, а я решил написать небольшой отчет по первой части курса (надеюсь меня хватить и на описание второй части курса по его завершению), чтобы уважаемый %username% мог определить стоит ли записываться на следующую итерацию курса или нет.
Читать полностью »
Open Source проект для обучения, часть 1: overview
2012-09-18 в 15:13, admin, рубрики: java, open source, метки: java, open sourceЗдравствуйте.
Я являюсь одним из основателей JMaNGOS — Open Source проекта, который в принципе бесполезен как продукт (исключая варианты его не правомерного использования), но полезен как проект для самостоятельного (и не только) образования во всех сферах IT, которые так или иначе связаны с Java. Потому, продуктом данного проекта я предлагаю считать знания, которые из него можно получить. И сегодня я хотел бы поделиться с вами частью накопленного опыта.
Agenda:
- History back view
- Why Java?
- Goals
- Infrastructure
Поднимаем собственный git сервер GitBlt на хостинге Openshift
2012-09-18 в 14:08, admin, рубрики: Git, git сервер, GitBlit, java, openshift, Облачные вычисления, халява сэр!, метки: Git, git сервер, GitBlit, OpenShift, халява сэр! 
Привет!
Все программисты делятся на тех, кто использует систему контроля версий, и тех кто ещё ёё не использует. Одной из самых популярных на сегодняшний день, является git. И хотя его структура направлена на децентрализованное хранение данных, все мы пользуемся github, assembla, bitbucket или githost. Главный недостаток этих хостингов, в том, что это чужие проекты, которые в любой момент могут прикрыть ваш аккаунт или слить данные налево. И тут на сцене появляется GitBlit! Git сервер на Java, полностью контролируемый вами, с множеством плюшек и веб-интерфейсом. Сегодня будем запускать его на бесплатном хостинге от Redhat.
Поднимаем собственный git сервер GitBlit на хостинге Openshift
2012-09-18 в 14:08, admin, рубрики: Git, git сервер, GitBlit, java, openshift, Облачные вычисления, халява сэр!, метки: Git, git сервер, GitBlit, OpenShift, халява сэр! 
Привет!
Все программисты делятся на тех, кто использует систему контроля версий, и тех кто ещё ёё не использует. Одной из самых популярных на сегодняшний день, является git. И хотя его структура направлена на децентрализованное хранение данных, все мы пользуемся github, assembla, bitbucket или githost. Главный недостаток этих хостингов, в том, что это чужие проекты, которые в любой момент могут прикрыть ваш аккаунт или слить данные налево. И тут на сцене появляется GitBlit! Git сервер на Java, полностью контролируемый вами, с множеством плюшек и веб-интерфейсом. Сегодня будем запускать его на бесплатном хостинге от Redhat.
О том как я Java в дотнет портировал
2012-09-17 в 14:09, admin, рубрики: .net, java, Программирование 
Давным давно… ну как давно? вчера! (С), то есть пару лет назад, портировал я одну скромную библиотечку с Java на .NET. И не просто на .NET, а на версию 1.1.
Подход известен — берем в зубы Sharpen (или конвертер из вижуалстудии 2003 года, кому что нравится), и далее — лобзиком.
Про очевидности с итераторами, структурами ("System.Drawing.Size это не объект") и потоками рассказывать не буду — банальщина. А вот про некоторые сюрпризы — добро пожаловать.
Java о Fido
2012-09-16 в 16:56, admin, рубрики: Fido, Fidonet, java, ORMLite, tosser, метки: Fido, java, ORMLite, tosserВ данном посте речь пойдет об OpenSource проекте, призванном сделать жизнь фидошника лучше, а заодно дать возможность пользоваться Fido на мобильных устройствах с Java.
История
Как я уже писал, в 2010 году я получил узловой номер 2:5020/848. Не имея достаточного количества задач на работе, я испытывал «творческий голод», и искал, куда можно было-бы приложить свои силы. И нашел! Менее чем за месяц было написано некоторое количество ПО, которое давало различные дополнительные возможности пользователям моего узла — доступ к Fido через форум или NNTP, трансляция входящей и исходящей почты в email и многое другое.
К тому моменту, как весь этот зоопарк заработал стабильно, интерес к развитию узла я практически потерял и просматривал почту пару раз в месяц.
В 2011 году мне в голову пришла мысль переписать часть своего ПО на Java и запустить как отдельный узел, для чего я даже получил узловой номер 2:5020/849, но дальше проекта дело не пошло.
А буквально месяц назад один человек попросил меня прислать ему исходники ПО, управляющего пользователями на моем узле. Присылать их в сыром виде было бы некрасиво, поэтому код пришлось как следует почистить. И тогда, посматривая весь этот код, я решил что раз уж алгоритмы все придуманы, то почему-бы не переписать это все на Java, как я и планировал год назад? Ну вот и понеслась…
Читать полностью »
Google выпускает J2ObjC, open-source конвертер кода Java в Objective-C для iOS-приложений
2012-09-14 в 5:46, admin, рубрики: Google, java, Новости, метки: новостиGoogle представили выпуск open-source проекта J2Objc, собственный конвертер из исходного кода на Java в Objective-C для приложений на iPhone/iPad.
Использование XML для генерации панели меню в Swing
2012-09-13 в 8:09, admin, рубрики: java, sax, swing, XML, Программирование, метки: java, sax, swing, XML Доброго времени суток, дорогие читатели.
Недавно столкнулся с проблемой создания панели меню — стандартной панели, которая присутствует почти в каждом мало-мальски функциональном UI. И не с той проблемой, что ее сложно создать, напротив, в Swing создание UI занятие довольно нетривиальное, большинство элементов интерфейса создаются в пару строк кода (это в равной степени касается и меню). А с проблемой создания многофункционального, сложного меню, которое выливается в невероятное количество кода, который в последствии не то чтобы сопровождать, а порой даже и читать невозможно.
Для хранения всего процесса генерации меню любой сложности, решил я прибегнуть к силе под названием XML. С его помощью можно описать меню, как мы хотим его видеть, а благодаря классу-утилите, который не приминем создать, наш XML будет распарсен и в итоге можно будет получить то, ради чего все это и затевается — меню любой сложности. Если вас это заинтересовало, добро пожаловать под хаброкат...Читать полностью »
«Разбор полетов» — Episode 24 — А ты заполнил классный журнал?
2012-09-11 в 16:21, admin, рубрики: idea, java, java ee, jboss, log4j, logback, maven, scala, spring, WebSphere, подкасты, разбор-полетов, метки: idea, java, java ee, jboss, log4j, logback, maven, scala, spring, WebSphere, разбор-полетов 
Новый сезон в старом и надеемся полюбившимся составе. В сегодняшнем выпуске мы обсудим
Тема сочинения — Как провели лето:Читать полностью »


