Pull to refresh
33
0
Andrey Unger @Cobalt

Разработчик

Send message

Telegram-like анимированный placeholder для HTML-инпутов

Reading time2 min
Views12K
В качестве улучшения UX/UI я часто сижу и думаю, что можно было бы улучшить в приложении, чтобы пользователю было чуточку веселее пользоваться им.

Как-то раз я заметил интересную анимацию placeholder'a в нативном Desktop приложении Telegram. Подумал, что будет интересным способом использовать такое и в своих проектах.
Читать дальше →

Простой и удобный способ добавления социальных сетей в Андроид приложение на примере Вконтакте и Одноклассники

Reading time17 min
Views53K
Во время разработки приложений на Андроид часто встает вопрос интеграции социальных сетей в приложение. Логин через социальную сеть, рассказать друзьям, просмотреть список друзей — встречаются почти в каждом приложении.



Для этого можно воспользоваться модулями библиотеки ASNE.

Используя модуль библиотеки вы подключите SDK или API выбранной социальной сети и интерфейс для наиболее часто используемых запросов к ней, тем самым сэкономив время и упростив добавление другой социальной сети. Благодаря использованию SDK, пользователь может залогиниться или расшарить запись через уже установленное приложение социальной сети. А добавить социальную сеть как модуль, если ее нет в разработанных, не составит труда — это легко сделать по аналогии с любым другим модулем.

В данной публикации я покажу, как можно легко добавить поддержку VK и Odnoklassniki в приложении под Android, используя соответствующие модули ASNE. В статье рассмотрен упрощенный пример, включающий добавления логина, записи с ссылкой на стену пользователя и вывода списка друзей.
Читать дальше →

Сервис push-уведомлений Pushover для Android и iOS в связке с PHP

Reading time7 min
Views103K

Вкратце, push-уведомления — это небольшие по объему важные сообщения от программы или сервиса, отображаемые операционной системой тогда, когда вы непосредственно не работаете с указанным приложением или сервисом. Преимущество таких уведомлений в отсутствии необходимости держать программу вечно в памяти, тратя на нее процессорные мощности и память.
Не буду здесь расписывать всю технологию доставки удаленного уведомления, ибо это уже сделано до меня. Выглядит примерно так: периодически демон опрашивает сервер и в случае появления сообщения, показывает его нам.
Для iOS придумали APNS, для Android-а — C2DM-GCM, я же хочу рассказать про кроссплатформенный (громко) сервис Pushover и связке его с php-сайтом.
Читать дальше →

Обзор платежных агрегаторов для приема платежей

Reading time24 min
Views344K
image Если вы владелец интернет-магазина и хотите, чтобы покупатель мог оплатить товары удобным ему способом, у вас есть два пути: подключать и настраивать оплату для каждой платежной системы отдельно — мучиться с интеграцией, подписанием договоров… либо сделать все быстро и без лишней волокиты — воспользоваться услугами компании, которая является платежным агрегатором. При выборе последнего варианта вам понадобится подписать всего один договор, а ваш покупатель сможет выбрать удобный ему способ оплаты из десятков доступных. Это и оффлайн способы, и электронные кошельки и, конечно же, оплата банковской картой. Платежных агрегаторов множество.

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

Чем же платежные агрегаторы отличаются друг от друга, и на что стоит обратить внимание?


Каждую компанию было решено рассмотреть по десяти параметрам. Ниже приведено детальное описание параметра и почему на это стоит обратить внимание.
Читать дальше →

Введение в новый CoordinatorLayout

Reading time5 min
Views54K
В этом году на конференции Google IO компания Google представила новую библиотеку Android Design Support Library, которая создана для того, чтобы помочь разработчикам внедрять материальный дизайн в их приложения. Билиотека содержит много компонентов, нужных для этого нового стиля, и работает со всеми уровнями API, начиная с седьмого. Если по какой-то причине вы пропустили её анонс, можете ознакомиться с постом Ian Lake, выложенным на Android Developers Blog.

Встречайте Android CoordinatorLayout


Из всех компонентов, включенных в Android Design Support Library, наиболее интересным выглядит новый «прокачанный FrameLayout», он же герой нашей статьи — CoordinatorLayout. По названию можно догадаться, что CoordinatorLayout позволяет координировать некие зависимости между включенными в него виджетами.

Всё, что нужно сделать — обернуть необходимые нам виджеты в CoordinatorLayout. Давайте посмотрим, как это будет выглядеть в коде. Наш демонстрационный код очень прост — Floating Action Button, по нажатию на которую на экране появляется Snackbar.
Читать дальше →

На вкус и цвет или Раскраска для Андроид

Reading time5 min
Views15K
Снова доброго времени суток всем. В этой статье хотелось бы продолжить тему кастомных View, а именно диалога выбора цвета.

Небольшое отступление: Предвосхищая негативные отзывы, хочу заранее предупредить — статья рассчитана на новичков в программировании. Начиная знакомиться с разработкой под Андроид, я столкнулся (да и сейчас регулярно сталкиваюсь) с интересным фактом: в интернете воз и маленькая тележка информации посвящена установке и настройке Эклипса, потом красочно описывают, как нажать New – Android Application Project и получить свой первый ХеллоВорд. А потом сразу сервисы – потоки – биндинги – хендлеры и всякие прочие базы данных. Посередине – пустота. Как раз эту пустоту я и пытаюсь заполнить, облегчить переход от чайника хотя бы к кофейнику так сказать. Очень надеюсь, что помогу кому-то найти нечто нужное без лишних мучений. И не могу в очередной раз не отметить еще одну особенность Рунета: Не так давно в очередной раз наступил на грабли столкнулся я с проблемой, можно сказать смешной для знающего человека, но для меня незнакомой. Довольно быстро нашел решение на каком-то англоязычном форуме. Топик состоял из двух постов. Вопрос и ответ. Все! Если кому интересно будет – найду ссылку. Да, кстати, возникший вопрос относится и к данной статье, так что дальше я это отмечу. Так вот, а посмотреть на наши форумы – жуть. Каждый вопрос порождает несколько страниц флуда на тему «читай документацию», ответа же в большинстве случаев так и нет.

Ну ладно, извините за многословие, наболело, так сказать. Продолжим под катом.
Читать дальше →

Android Volley custom Loader

Reading time8 min
Views12K
В статье изложен подход реализации Loader для загрузки разных объектов в одном Activity. В качестве сетевой библиотеки загрузки используется Volley. Метод подходит когда в одном Activity имеется несколько одновременно использующихся фрагментов

public class MainActivity extends ActionBarActivity
        implements LoaderManager.LoaderCallbacks<DataHolder>{
    ...
    @Override
    public void onLoadFinished(Loader<DataHolder> loader, DataHolder data) {
        if ( loader.getId() == DataLoader.LOADER_ICONS_ID ){
           doIcons( data.getIcons() );
        } else if( loader.getId() == DataLoader.LOADER_STYLES_ID ){
           doStyles( data.getStyles() );
        } else if( loader.getId() == DataLoader.LOADER_ICONSETS_ID ){
           doIconSets( data.getIconSets() );
        }


Читать дальше →

Сравнение онлайн-консультантов для сайта: муки выбора

Reading time5 min
Views30K
Сразу предупрежу, что статья не носит рекламный характер. Написана она исключительно с целью поделиться своим опытом в подборе качественного инструмента для онлайн-консультирования, так как сами, пока искали, не могли нигде найти подходящий материал с подробным анализом.

Когда мы решили завести на своих сайтах онлайн-чат, мы не очень ясно понимали, какой у него должен быть функционал. Единственное, что мы сразу четко понимали: это не будет чатик, куда любой случайный посетитель сможет написать «эй, есть кто живой?». И не такой, где отвечать на сообщения посетителей будет девочка-консультант, толком не разбирающаяся в технических особенностях нашего продукта.


Читать дальше →

Material Design: на Луну и обратно

Reading time11 min
Views391K
“Это унылое диалоговое окно действительно нужно?”



В этой статье я изложил главные принципы Material Design и дал советы по их воплощению. Текст написан по следам мастер-класса для разработчиков, который мы, Роботы, устраивали совместно с российским офисом Google (Think Mobile).


Когда-то все продукты Google выглядели по-разному плохо. Даже один продукт на разных платформах выглядел неконсистентно.

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

При чем тут Кеннеди?
Легенда такова: президент Кеннеди инициировал программу полёта человека на Луну (если верить, что этот полёт когда-либо был). А большой начальник в Google Ларри Пейдж исповедует принцип, что продукты нет смысла улучшать на 10% — они должны быть в 10 раз лучше, чем у конкурентов. Если уж запускать продукт, то сразу на Луну. Вот и здесь было решено круто всё переделать.

Читать дальше →

Локализация Android приложения средствами Google Sheets

Reading time4 min
Views8.8K
Добрый день!

В данной статье хотелось бы поделиться своим небольшим опытом использования Google Таблиц при локализации Android приложения. Изначально требовалось перевести разрабатываемое приложение только на язык заказчика, т.е. норвежский. В это время в IntelliJ Idea не существовало Translations Editor'a, а Android Studio готовилось к выходу из беты.

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

TL;DR готовый документ. Чтобы получить файлы strings.xml, жмем Export Files -> Export sheets to strings.xml. Приложение Google Drive, которое должно быть установлено на вашей машине, скачает результат.
Читать дальше →

LotCat

Reading time4 min
Views2.5K
Всем привет!

Все, кто работает на рынке мобильных приложений, знают, как востребованы специалисты по продвижению. Все ищут новые подходы, каналы, кейсы, чтобы «прорубить окно» в топ маркета с наименьшими затратами. И, похоже, нам удалось придумать что-то новое. Тьфу, тьфу, тьфу! Надеемся, на Хабре найдется немало специалистов, которые оценят наши старания.

Рассказ начну с небольшого кейса. Наша компания занимается созданием мобильных игр. У нас есть небольшая база подписчиков, которых мы периодически уведомляем о новых релизах, посредством sms-рассылок. Собиралась база долго, в силу разных причин, мы не сегментировали ее по платформам. Поэтому пользователи Android получали новость, которая была интересна пользователям iOs, и наоборот.

«Это ненормальная ситуация, которая нарушает карму лояльности наших клиентов» – решили мы. В результате родилась идея, которая постепенно привела к появлению нового сервиса, с другим основным предназначением. Говорят, со стартапами такое случается довольно часто.
Читать дальше →

Как я имплантировал RFID себе в руку, а потом еще NFC. Часть 1

Reading time6 min
Views140K


Мне всегда нравилась идея ключа, который невозможно забыть. А если при этом ключ еще и подходит к стандартным замкам — прекрасно вдвойне.

Поэтому, как только появилась возможность разместить под собственной кожей RFID, совместимый хоть с чем-нибудь общеупотребимым, я это и сделал, имплантировав метку EM4100 — множество дешевых замков и систем контроля доступа используют его.

А когда обнаружилась метка, совместимая с NFC — и способная быть ключом к ноутбукам, смартфонам и оставшимся замкам — избегать ее встраивания причин решительно не было.
Что я сделал и как это работает

Архитектура Android-приложений… Правильный путь?

Reading time5 min
Views95K
От переводчика: Некоторые термины, которые использует автор, не имеют общепринятого перевода (ну, или я его не знаю:), поэтому я решил оставить большинство на языке оригинала — они всё равно понятны и для тех, кто пишет под android, но не знает английский.
Куда писать об ошибках и неточностях, вы знаете.


За последние несколько месяцев, а также после дискуссий на Tuenti с коллегами вроде @pedro_g_s и @flipper83 (кстати говоря, 2 крутых Android-разработчика), я решил, что имеет смысл написать заметку о проектировании Android-приложений.

Цель поста — немного рассказать о подходе к проектированию, который я продвигал в последние несколько месяцев, и также поделиться всем тем, что я узнал во время исследования и реализации этого подхода.
Удиви меня

Navigation Drawer в стиле Material Design за 5 минут

Reading time9 min
Views116K
imageВ данной статье я расскажу, как быстро добавить в ваше приложение для Android боковое меню (aka Navigation Drawer) в стиле Material Design. Для этого мы воспользуемся библиотекой, любезно предоставленной Mike Penz.

У вас получится Navigation Drawer, который:

  • Соответствует последним рекомендациям по дизайну (Google Material Design Guidelines);
  • Поддерживает использование нескольких Drawer (можно выдвигать второй справа);
  • Поддерживает использование бейджей;
  • Имеет простой и понятный интерфейс (API);
  • Может выползать как под, так и поверх Status Bar;
  • Позволяет менять иконки, цвета, бейджи во время выполнения;
  • Использует AppCompat support library;
  • Работает, начиная с API 14.

Помимо этого, новички обучатся интеграции сторонних библиотек в свой проект, что крайне полезно, учитывая их грандиозное разнообразие на Github.

Читать дальше →

Простой webdev на Java 8

Reading time6 min
Views19K
Хочу рассказать о том, как мне пришла в голову идея заняться веб-разработкой на Java.

Итак, как только я созрел для этого дела, составил небольшой список, которому должны соответствовать выбранные мною инструменты разработки:
  • Сборка при помощи maven;
  • Простой процесс деплоя и запуска;
  • Библиотеки должны быть легковесны;
  • Возможность использования шаблонизатора.

Усиленно погуглив, я нашел то, что мне нужно: Spark, jade4j и OrmLite.

Итак, инструменты выбраны, рассмотрим каждый из них в отдельности.
Читать дальше →

Asterisk + FreeSwitch + Skype. Подробное руководство

Reading time14 min
Views51K


Доброго времени суток, жителям Хабра!

Имея опыт в области установки voip-серверов на базе Asterisk, решил предложить своё подробное руководство по установке call-центра на базе Asterisk в связке со Skype. В виду популяризации Skype эта сеть стала использоваться для call-центров многих компаний. Использование ее официального клиента очень ограничивает нас в возможностях. Данная сборка позволяет увеличить число одновременных вызовов со Skype-сети.
Читать дальше →

MyBatis как более быстрая альтернатива Hibernate

Reading time11 min
Views107K
В Java сообществе Hibernate framework де-факто считается стандартом для удобной работы с базой данных. Разработчику трудно выбрать другой фреймфорк, потому что порой он не знает о существовании альтернатив. В этой статье я проведу курс молодого бойца по работе с MyBatis framework. Полностью охватить весь framework не получится, но информации будет достаточно, что бы увидеть преимущества и слабые стороны данного framework'а и начать работать с MyBatis.
Читать дальше →

Java logging. Hello World

Reading time14 min
Views307K

Вступление


Думаю, ни для кого не секрет, что такое логгеры и для чего они нужны. За время существования java было создано немало фреймворков логгирования. Среди самых известных можно выделить:

  • JUL — java.util.logging
  • log4j
  • JCL — jakarta commons logging
  • Logback
  • SLF4J — simple logging facade for java

В данной статье будет рассмотрен каждый из указанных выше фреймворков на уровне «hello world». Будут приведены простые примеры использования основного функционала и конфигурирования. Статья не преследует цель сравнения логгеров между собой и выявление лучшего из них, эту возможность автор оставляет за вами, уважаемые читатели. В конце статьи будут приведены источники, где можно получить более детальную информацию по каждому фреймворку. Также перед прочтением данной статьи рекомендую ознакомиться с публикацией «Java Logging: история кошмара», где описана история развития систем логгирования в Java.
Читать дальше →

Что в ORM тебе моем? Околонаучный подход выбора ORM для Android

Reading time11 min
Views27K
Выбор инструментов, которые так или иначе понадобятся при разработке – один из главных подготовительных этапов на старте нового Android-проекта.
В случае, если вы разрабатываете приложение, которое должно в том или ином виде хранить большое количество сущностей – вам не избежать использования баз данных. В отличие от коллег по цеху, разрабатывающих для iOS, у Android-программистов нет удобных инструментов, облегчающих хранение объектов вроде Core Data, предоставляемых платформой (кроме Content Provider, о том почему он не в счет, будет дальше). Поэтому многие Android-разработчики прибегают к использованию сторонних ORM-решений в своих проектах. О том, на что стоит смотреть при выборе библиотеки для вашего проекта, и пойдет речь в этой статье.


Читать дальше →

Безопасность 4G: захватываем USB-модем и SIM-карту с помощью SMS

Reading time4 min
Views153K
image

Телеком-операторы активно рекламируют быструю и дешевую 4G-связь. Но насколько она защищена, знают немногие. Экспертам Positive Technologies в процессе исследования безопасности 4G-коммуникаций удалось найти уязвимости в USB-модемах, позволяющие взять под контроль компьютер, к которому подключён модем, а также аккаунт абонента на портале мобильного оператора. Кроме того, атаки на SIM-карту с помощью бинарных SMS позволяют перехватить и расшифровать трафик абонента, либо просто заблокировать заданную «симку».
Читать дальше →

Information

Rating
Does not participate
Location
Обнинск, Калужская обл., Россия
Date of birth
Registered
Activity