Как стать автором
Обновить
63
0
Александр @evilduck

Пользователь

Отправить сообщение

Пишем свой Gradle плагин для AnnotatedSql

Время на прочтение 6 мин
Количество просмотров 7.8K

Вступление



Привет, коллеги. Давно я не писал ничего на Хабр. Вот, решил исправить это досадное недоразумение.

Не так давно я сменил место работы, и проект, над которым я теперь работаю, использует для сборки Gradle. Более того, проект достаточно развесистый и сложный, и Gradle скрипт в нем весьма непростой. Поэтому я решил, что надо подучить Gradle. Как один из шагов обучения я решил написать свой собственный плагин. Плагин посвящен замечательной библиотеке annotated-sql, созданной моим хорошим товарищем Геннадием hamsterksu. Я использую эту библиотеку в персональных проектах, поэтому мне нужен удобный способ прикреплять и конфигурировать ее к ним. Библиотека использует процессоры аннотаций, поэтому цель плагина — подружить эти процессоры и gradle сборку.
Читать дальше →
Всего голосов 9: ↑9 и ↓0 +9
Комментарии 6

Custom layouts. Part 2. CellLayout

Время на прочтение 10 мин
Количество просмотров 23K
И снова здравствуйте, коллеги.

И снова я пожаловал к вам с топиком кастомной разметки. На этот раз, я задумал сделать некую “ячейчатую” разметку.
Смысл прост: вся площадь контейнера делится на сетку из квадратных ячеек одинакового размера, и каждый потомок может занять произвольные клетки на этой сетке. Используя подобную разметку можно составлять красивую мозаику из кнопок или картинок, не прибегая к многочисленным вложенным layout’ам. И, поскольку, это специально заточенный для этих целей layout, он будет работать очень шустро.


Читать дальше →
Всего голосов 28: ↑27 и ↓1 +26
Комментарии 16

Custom layout. Выплывающая панель + параллаксный скроллинг

Время на прочтение 7 мин
Количество просмотров 19K
Привет, коллеги.

Сегодня я хотел рассказать, как можно создать нестандартный менеджер разметки (layout manager) и вдохнуть в него жизнь при помощи анимаций.
Нам в DataArt часто требуется реализовывать нестандартные компоненты для приложений заказчика, поэтому у меня накопился определенный опыт в этом деле, которым решил поделиться.
В качестве примера решил реализовать аналог часто встречающейся в социальных сетях выплывающей снизу панели. Обычно этот прием используется при необходимости показать контент, например, фото, и добавить возможность комментировать на дополнительной панельке, которую пользователь может вытянуть снизу. При этом основной контент обычно тоже уплывает наверх, но немного медленнее, чем основная панель. Это называется «параллаксный скроллинг».
Специально для этой статьи я решил с нуля реализовать подобный компонент. Сразу хочу заметить, что это не полноценный, стабильный и готовый для продакшен код, а всего лишь демонстрация, написанная за пару часов, чтобы показать основные приемы.

Читать дальше →
Всего голосов 36: ↑36 и ↓0 +36
Комментарии 13

Несколько полезных шаблонов для Android-разработки под eclipse

Время на прочтение 3 мин
Количество просмотров 29K

Вступление


Привет, коллеги.

Сегодня я хочу поделиться с вами несколькими полезными шаблончиками (templates) для IDE Eclipse, которые помогут вам ускорить некоторые рутинные операции при разработке под Android. Я пока что использую Eclipse для разработки, но, я уверен, что Idea позволит создавать совершенно аналогичные шаблоны.

Что такое шаблоны? Это заранее заготовленные кусочки кода, которые IDE может быстро подставлять для вас при нажатии на Ctrl+Space. Например, введите «syso» в eclipse, нажмите Ctrl+Space. Бац, у вас появился System.out.println(), или «fore» — у вас появится готовый шаблон для цикла for each. Более того, данные кусочки параметризированы, и IDE предложит вам ввести имена для нужных переменных.

Если вам это интересно, приступим.
Читать дальше →
Всего голосов 42: ↑38 и ↓4 +34
Комментарии 22

Добавление анимации в ListView

Время на прочтение 8 мин
Количество просмотров 19K
Приветствую Вас, коллеги,

сегодня я пожаловал к вам с коротенькой статьей на тему добавления анимаций в ListView при скроллинге. Не так давно мне захотелось добавить в мой список анимацию, аналогичную той, что можно увидеть в G+ клиенте, но немного другую.

А захотелось мне сделать так, чтобы новые элементы не просто появлялись внизу, а выплывали снизу и немного справа. В общем-то, это я сделал, но позже, я посмотрел доклада Романа Ги и Чета Хааса на Google IO 2013 и загорелся идеей добавить искажение при этом, чтобы добавить реалистичности. Это потребовало немного изменить подход, но, в целом концепция осталась прежней.

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

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



Читать дальше →
Всего голосов 49: ↑47 и ↓2 +45
Комментарии 12

Создание нестандартного компонента с нуля. Часть 2

Время на прочтение 10 мин
Количество просмотров 21K

Вступление



Вновь приветствую, коллеги.

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



В этой статье под катом мы продолжим накручивать свистелки и... дополнительные возможности нашей клавиатуре. На повестке дня:

  1. Сохранение состояния компонента при повороте экрана
  2. добавление подсветки при оверскролле
  3. передача параметров в XML
  4. Мультитач зуммирование
Читать дальше →
Всего голосов 53: ↑51 и ↓2 +49
Комментарии 9

Создание нестандартного компонента с нуля. Часть 1

Время на прочтение 11 мин
Количество просмотров 39K

Вступление


Приветствую, коллеги!

Достаточно часто при разработке мультимедийных Андроид-приложений (далее просто “приложений”) мы сталкиваемся с задачей создания собственных компонентов, не предусмотренных в системе. Это могут быть всяческие ручки-переключатели, визуализаторы спектра и т. п. Некоторые из них могут быть получены простой заменой графического ресурса, поворотом канвы на 90 градусов и т. п. Но, иногда, все же приходится делать что-то свое “с нуля”.
В этой статье я собираюсь рассказать о создании компонента — простой клавиатуры фортепиано, при помощи наследования от класса View и реализации всех внутренностей “самостоятельно”. Почему в кавычках — увидите дальше.

В серии статей я постараюсь осветить такие вопросы, как:

  1. отрисовка компонента
  2. добавление скроллинга с использованием стандартных скроллбаров
  3. взаимодействие, использование селекторов для клавиш
  4. Сохранение состояния компонента при повороте экрана
  5. добавление подсветки при оверскролле
  6. передача параметры в XML
  7. pinch zoom


Первая статья будет о первых трёх пунктах.

Если Вам интересны эти темы, добро пожаловать под кат.
Читать дальше →
Всего голосов 64: ↑60 и ↓4 +56
Комментарии 5

Организация архитектуры взаимодействия Activity и Service

Время на прочтение 7 мин
Количество просмотров 34K
Приветствую!

Сегодня я решил поведать Вам мой способ организации activity-service interaction в Android приложениях. Мотивирован топик тем, что достаточно часто можно встретить приложения, в которых, скажем, поход на сервер организовывается внутри активити в AsyncTask. При этом часто встречается верная мысль, что это надо делать в сервисах, но нигде в оф. документации нет ни слова об организации правильной архитектуры двустороннего взаимодействия между ними.

Поэтому я методом проб и ошибок пришел к архитектуре, лично для меня покрывающей все необходимые вопросы.

Об этом методе я буду рассказывать далее.
Читать дальше →
Всего голосов 31: ↑29 и ↓2 +27
Комментарии 37

Мой опыт разработки/продвижения/поддержки. Perfect Ear

Время на прочтение 8 мин
Количество просмотров 5.3K
Здравствуйте, коллеги,

наконец-то у меня дошли руки написать немного о своем опыте на примере моего главного на сегодняшний день приложения Perfect Ear (в русском маркете известного как Абсолютный Слух).

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

Под катом будет изложена краткая история разработки, публикации, продвижения и поддержки приложения. Здесь не будет технических деталей о той или иной функциональности, скорее, хайлайты тех или иных моментов, произошедших за год существования приложения.

В конце приведу некоторые цифры.

Читать дальше →
Всего голосов 62: ↑61 и ↓1 +60
Комментарии 57

В Android Market появилась статистика

Время на прочтение 1 мин
Количество просмотров 1.5K
Здравствуйте.

Сегодня обнаружил, что в маркете появилась собственная статистика по каждому приложению.

Статистика показывает график роста динамики количества активных инсталлов Вашего приложения. Достаточно симпатичный и удобный интерфейс позволяет масштабировать график, перетягивая ползунки внизу изображения.

Читать дальше →
Всего голосов 35: ↑34 и ↓1 +33
Комментарии 31

Получение денег с AdSense через Rapida Online на банковский счет

Время на прочтение 2 мин
Количество просмотров 44K
Здравствуйте.

Не так давно столкнулся с необходимостью получить деньги за публикуемое приложение на Андроид Маркете. Самое первое, что опробовал — чек. Как большинству известно, чек в России обналичить — дело непростое (процесс состоит из отправки чека обратно в Америку почтой и возвращении денег назад почтой и занимает до 60 рабочих дней), поэтому, разочаровавшись, начал искать альтернативы.

В аккаунте AdSense меня очень заинтересовала графа Rapida, где было написано, что деньги можно в течение 2 дней получить на почте. Я пошел на рапиду и волей случая попал не на Rapida, а на Rapida Online. Rapida Online — это своеобразный электронный кошелек, дающий возможность перечислять с него деньги на другие кошельки:
  • Qiwi
  • Яндекс.Деньги
  • Web Money

или на банковский счет в банках, указанных в списке на сайте. Список достаточно длинный. Меня интересовал Альфа-Банк, и я его там нашел.
Читать дальше →
Всего голосов 45: ↑40 и ↓5 +35
Комментарии 61

Информация

В рейтинге
Не участвует
Откуда
Stockholm, Stockholms Län, Швеция
Дата рождения
Зарегистрирован
Активность