Pull to refresh
43
0
SlyBeaver @psinetron

Android-разработчик

Send message

Реализация BottomAppBar. Часть 3: Поведения для Android

Reading time8 min
Views9.3K

Реализация BottomAppBar. Часть 3: Поведения для Android


BottomAppBar — это один из новых Android Material компонентов, которые были представлены на Google I/O 2018. Благодаря перемещению Navigation Drawer и меню приложения в нижнюю часть экрана, BottomAppBar радикально меняет внешний вид Android приложений.


В первой и второй частях нашей серии статей про BottomAppBar мы познакомились с BottomAppBar и обсудили его атрибуты. Также мы объяснили, как реализовать Navigation Drawer и меню приложения в рамках BottomAppBar.

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

Реализация BottomAppBar. Часть 2: Меню и элемент управления Navigation Drawer

Reading time5 min
Views11K

Реализация BottomAppBar. Часть 2: Меню и элемент управления Navigation Drawer


В предыдущей статье мы обсудили основы BottomAppBar, который не так давно представили на Google I/O 2018 как часть Material компонентов для Android. Мы рассмотрели способ реализации BottomAppBar и изучили его атрибуты. Также BottomAppBar может отображать элементы меню и элемент управления Navigation Drawer, которые раньше мы использовали в тулбаре.

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

Что нового в ConstraintLayout 1.1

Reading time4 min
Views10K

ConstraintLayout


ConstraintLayout упрощает создание сложных макетов в Android, позволяя создавать большую часть вашего пользовательского интерфейса с помощью визуального редактора в Android Studio. Его часто называют более мощным RelativeLayout. С помощью ConstraintLayout вы можете избегать множества уровней вложенности при вёрстке сложных экранов.


Недавно была выпущена стабильная версия ConstraintLayout 1.1, и теперь он выглядит очень зрело. Полная его оптимизация ещё больше увеличивает его быстродействие, а новые элементы, такие как барьеры и группы, превращают создание по-настоящему крутого дизайна в достаточно тривиальную задачу.

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

AIDL (Android Interface Definition Language) и коммуникация между процессами (IPC)

Reading time5 min
Views36K
В данной статье мы попытаемся описать свой опыт работы с AIDL в Android IPC.
В ней содержится пример приложения с сервисом, который запущен в отдельном процессе.
Читать дальше →

Гик-снайпер или как сделать «зоркий глаз»

Reading time5 min
Views45K
Пригласили меня как-то на стрельбище с использованием высокоточного оружия (по простому — снайперкой пострелять). Это стрельба из ружья, которое поражает цели на довольно больших расстояниях, например, на километр. Отстреляв свои первые три пульки мне захотелось посмотреть, куда же я все-таки попал. Мишень находится очень далеко и отверстия от попадания в прицел не видны. Единственным возможным решением оказалось — двигаться к мишени и посмотреть все попадания непосредственно на месте.

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



Внимание, под катом много фотографий!
Как это было

Kotlin DSL: Теория и Практика

Reading time21 min
Views16K
Разработка тестов приложения — не самое приятное занятие. Этот процесс занимает долгое время, требует большой концентрации и при этом крайне востребован. Язык Kotlin дает набор инструментов, который позволяет довольно легко построить собственный проблемно-ориентированный язык (DSL). Есть опыт, когда Kotlin DSL заменил билдеры и статические методы для тестирования модуля планирования ресурсов, что превратило добавление новых тестов и поддержку старых из рутины в увлекательный процесс.

По ходу статьи мы разберем все основные инструменты из арсенала разработчика и то, как их можно комбинировать для решения задач тестирования. Мы с вами проделаем путь от проектирования Идеального Теста до запуска максимально приближенного, чистого и понятного теста для системы планирования ресурсов на основе Kotlin.

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



Статья основана на докладе Ивана Осипова (i_osipov) на конференции JPoint. Дальнейшее повествование ведется от его лица. Иван работает программистом в компании Haulmont. Основной продукт компании – CUBA, платформа для разработки энтерпрайза и различных веб-приложений. В том числе на этой платформе делаются и аутсорсинговые проекты, среди которых недавно был проект в области образования, в котором Иван занимался построением расписания для образовательного учреждения. Так сложилось, что последние три года Иван так или иначе работает с планировщиками, и конкретно в Haulmont в течение года они этот самый планировщик тестируют.
Читать дальше →

Генетический алгоритм. Просто о сложном. Рассказ Марка Андреева

Reading time7 min
Views317K

В последнее время все больше «ходят» разговоры про новомодные алгоритмы, такие как нейронные сети и генетический алгоритм. Сегодня я расскажу про генетические алгоритмы, но давайте на этот раз постараемся обойтись без заумных определений и сложных терминах.
Как сказал один из великих ученных: «Если вы не можете объяснить свою теорию своей жене, ваша теория ничего не стоит!» Так давайте попытаемся во всем разобраться по порядку.
Читать дальше →

Как перестать бояться Proguard и начать жить

Reading time12 min
Views64K


Здравствуйте, я Android разработчик и я больше не боюсь ProGuard...


Обычно, об этой утилите вспоминают, когда сталкиваются с dalvik dex-limit issue или с требованием улучшить безопасность приложения. К сожалению, правильно настроить Proguard удается далеко не с первого раза. Я часто наблюдал, как многие, сломав проект, выключают Proguard и включают поддержку Mulditex и каждый раз немножечко грустил по этому поводу, ведь Proguard помогает как сократить размер приложения, так и повысить его производительность.


В итоге, я решил написать статью, в которую смогу поместить всю полезную информацию, которую я узнал за несколько лет работы с Proguard и которая могла бы помочь как совсем новичкам, так и тем, кто уже что-то знает.

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

Создание Android приложения для распознавания текста за 10 Минут. Mobile Vision CodeLab

Reading time10 min
Views31K

Видео версия туториала



Оптическое распознавание символов (англ. Optical Character Recognition, сокр. OCR) дает компьютеру возможность читать текст на изображении, позволяя приложениям понимать знаки, статьи, листовки, страницы текста, меню или что угодно в виде текста. Mobile Vision Text API предоставляет разработчикам Android мощную и надежную возможность OCR, которая поддерживает большинство устройств Android и не увеличивает размер вашего приложения.


В этом туториале вы создадите приложение, в котором в процессе видеосъёмки будет распознаваться и воспроизводиться весь текст, попадающий в кадр.

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

Orange Pi 2G-IOT или Апельсиновый рай

Reading time4 min
Views40K

Шерстя просторы AliExpress
в поисках Raspberry Pi, я наткнулся на такую такое вот устройство.


Этот одноплатник за 10$ имеет скромные габариты (67x42мм), содержит в себе: Cortex-A5 1,0 ГГц, 256Мб оперативной памяти, 512Мб NAND, а главное — встроенные WI-FI и 2G адаптеры!


Сразу вспомнилась статья «Ананасовый рай», вышедшая в журнале Хакер в далеком 2013 и я загорелся желанием превратить «апельсинку» в устройство для фишинга.

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

Дайджест интересных материалов для мобильного разработчика #235 (18 декабря — 24 декабря)

Reading time4 min
Views6.8K
Завтра рождество, через неделю Новый год — поздравляем всех с прошедшими и будущими праздниками! Делайте хорошие приложений и не делайте плохих — а мы будем помогать этому
хорошими статьями и новостями. До встречи через год!

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

Как Android запускает MainActivity

Reading time6 min
Views34K
Недавно я провел исследование о main() методе в Java и то, как он служит точкой входа для любого приложения Java. Это заставило меня задуматься, а как насчет Android-приложений? Есть ли у них основной метод? Как они загружаются? Что происходит за кулисами до выполнения onCreate()? Майкл Бэйли очень подробно рассказал о том, как работает Main Thread, так что это быстрый обзор его доклада плюс дополнительная информация из Android Open Source Project (AOSP).

В этой статье мы рассмотрим:

  1. Что происходит от нажатия на иконку приложения до запуска MainActivity
  2. Найдем основной метод приложения и узнаем, как основной поток (он же UI, он же Main Thread) получает свое назначение.
  3. Рассмотрим роль, которую играют Looper & Handler в передаче сообщений, которые в конечном итоге приводят к созданию вашей Activity.

Что происходит при запуске приложения


При запуске любого приложения, многое происходит глубоко внутри на уровне ядра, например начальная загрузка Zygote, загрузка классов в JVM, а для JVM — найти основной метод static void main(String args []) и вызывать его. В случае Android JVM находит основной метод main() в ActivityThread. Затем он вызывает main(), после чего ядро передает управление вашему приложению. Итак, мы нашли точку входа — ActivityThread, но прежде чем подробно изучить это, давайте посмотрим на дорожную карту процесса, чтобы визуализировать всю операцию.
Читать дальше →

Советы по созданию современного Android-приложения. Лекция Яндекса

Reading time18 min
Views25K
Мы продолжаем публиковать материалы Школы мобильной разработки 2017 года. На очереди — большая лекция Android-разработчика Дмитрия Никитина из команды Яндекс.Почты. Дмитрий рассказывает, как подойти к созданию проекта с нуля, не потеряться среди множества библиотек и на что обратить внимание при выборе того или иного решения.


— Все вы как минимум пару месяцев программируете под Android. Возможно, кто-то программирует пару лет и уже от корки до корки прочитал developer.android.com. А возможно, нет. Но вы все наверняка знаете, как можно сделать многие вещи как минимум одним из способов. Но не секрет, что этих способов может быть много, у каждой команды они могут быть свои, и часто тот или иной способ выбран исключительно по историческим причинам.

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

Туториал по созданию трекера криптовалют под андроид на Kotlin

Reading time6 min
Views10K
image

Не давно на хабре была статья в которой предлагалось сделать 8 учебных проектов. Мне там приглянулся трекер криптовалют, дабы было хоть как-то интереснее чем просто Get запрос, было решено сделать его на Kotlin. Итак, в этом туториале вы узнаете следующее:

  • Как делать Get запросы с Retrofit
  • Retrofit и Rx
  • RecyclerView с Котлином
  • Извлечение данных с api
Читать дальше →

8 учебных проектов

Reading time3 min
Views150K
«Мастер совершает больше ошибок, чем новичок — попыток»

Предлагаем 8 вариантов проектов, которые можно сделать «по фану», дабы получить реальный опыт разработки.

Проект 1. Клон Trello


image


Клон Trello от Indrek Lasn .

Что вы освоите:

  • Организация маршрутов обработки запросов (Routing).
  • Drag and drop.
  • Как создавать новые объекты (доски, списки, карточки).
  • Обработка и проверка входных данных.
  • Со стороны клиента: как использовать локальное хранилище, как сохранять данные в локальном хранилище, как читать данные из локального хранилища.
  • Со стороны сервера: как использовать базы данных, как сохранять данных в базе, как читать данные из базы.

Тут пример репозитория, сделанного на React+Redux.
Читать дальше →

Клуб анонимных Дедов Морозов 2017-2018 на Хабрахабре

Reading time3 min
Views14K
image
Харольд наконец получил подарок, который он так долго ждал.

Мужик с телегой прощается, в сани забирается. До того волшебного момента, когда в воздухе запахнет елью и мандаринами, в бокалах шампанского зашипят пузырьки, а темноту ночи нарушит залп фейерверков, еще два долгих холодных месяца. Самые предусмотрительные уже начали думать над тем, что подарить своим родным и близким, друзьям и коллегам. А на Хабрахабре тем временем стартует, ставшая уже традиционной с 2012 года, новогодняя церемония обмена подарками — Анонимный Дед Мороз 2017-2018. Если вы любите получать подарки, а самое главное — вы любите их дарить, тогда я удивлён, почему вы еще до сих пор здесь!
Отправиться за новогодним чудом!

Верю – не верю в инди-разработку. Часть 1

Reading time6 min
Views19K
Наверное, в работе каждого программиста наступает критический момент, когда творческая любимая работа перерастает в рутину. Все справляются с этим моментом по своему. Кто-то меняет язык программирования, кто-то меняет работу, а кто-то пытается сделать самостоятельный продукт.

image

Мимо меня этот момент не прошел, а объял всей своей сущностью и велел что-то делать. Работу менять не хотелось, а вот создать что-то вне этой самой работы можно было. Так как на работе приходится заниматься созданием исключительно полезных приложений – захотелось сделать что-то совершенно бесполезное иное. В моем понимании это должно было быть развлекательное приложение, а значит игра. В худшем случае игра должна пойти в копилку портфолио, которое не запрещают договора о неразглашении коммерческой тайны (да-да, работаешь много, а показать ничего не можешь, так как нельзя). В лучшем же случае, чтобы игра радовала – она должна приносить хоть какие-то деньги.
Читать дальше →

Семь итераций наивности или как я полтора года свою дебютную игру писал

Reading time32 min
Views79K
imagination С появлением у меня в первом классе Dendy вопрос кем я стану отпал сам собой буквально через пару недель — программистом конечно же. Я долго и упорно шел к этому, невзирая на отсутствие информатики в школе, работал в техподдержке известного всем регистратора параллельно с учебой в институте, но полноценная жизнь началась лишь в тот момент, когда меня наконец-то взяли хоть куда-то писать код.

Очень скоро я понял, что мало быть программистом, работающим от звонка до звонка и получающим за это деньги на карточку — всё самое интересное начинается, когда решаешь сам без всяких архитекторов, тестировщиков и тимлидов что-нибудь этакое написать и заставить работать. Желательно что-нибудь веселое и захватывающее. Игру, например.

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

In-App Purchase в Android приложениях

Reading time3 min
Views91K
1. Что это такое и зачем это нужно?

In-App Purchase, грубо говоря, представляет собой сервис покупки виртуальных товаров внутри приложения (например игровой валюты, новых уровней, игровых предметов и т.д.). Применяется он в основном в играх, в тех случаях, когда встает вопрос о необходимости заработка на своем творении, а распространять его платно не особо хочется (или нет смысла).
Читать дальше →

Продвижение инди-игры на Steam Greenlight

Reading time11 min
Views97K
Всем, привет! Наша команда сейчас проходит важный этап становления любого разработчика игр — первый запуск игры на Steam Greenlight. Пока я готовил материал для этой статьи, наша игра вошла в ТОП-100 проектов на Greenlight, набрала почти 2000 голосов «ЗА» и через 12 дней получила зелёный свет.

В этой статье хочу поделиться информацией, которую «нарыл» в процессе подготовки к Greenlight'у, а также попробовать проанализировать, какие гипотезы по продвижению сработали, а какие пути оказались тупиковыми. Надеемся, эта информация окажется полезной и кому-то попадёт в избранное.

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

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity