Pull to refresh
-1
0
Александр @jawaharlalnehru

Разработчик мобильных приложений

Send message

Функциональный подход в Jetpack Compose: каррирование функций

Reading time5 min
Views3.6K

Современные языки программирования всё чаще становятся мультипарадигменными, и Kotlin не исключение. С появлением Jetpack Compose наблюдается уход от ООП  в функциональное программирование. Изучая новые средства разработки, такие как Jetpack Compose, давайте вспомним и те, которым уже около 60 лет. А главное — разберёмся, как их можно применить к современным подходам для получения большей эффективности.

Читать далее
Total votes 6: ↑6 and ↓0+6
Comments6

Jetpack Compose — как легко построить UI на Android

Reading time4 min
Views14K

В июле этого года вместе с Android Studio Arctic Fox вышла одна из долгожданных библиотек — Jetpack Compose. Она позволяет создавать пользовательский интерфейс в декларативном стиле и обещает быть революцией в построении UI.

Разбираемся, так ли это на самом деле, какие у библиотеки преимущества и недостатки. Подробности — в статье.

Читать далее
Total votes 51: ↑46 and ↓5+41
Comments15

Автоматизация UI-тестирования в приложении Недвижимости на Android. Доклад Яндекса

Reading time16 min
Views8.3K
Чем больше процессов тестирования автоматизированы, тем эффективнее релизный пайплайн и тем быстрее пользователи получают новые возможности в сервисе. Руководитель Android-разработки Яндекс.Недвижимости Александр Рогов вспомнил, как эволюционировало UI-тестирование в его команде, как разработчики пришли к идее автоматизации, почему использовали фреймворк Espresso, с какими проблемами столкнулись и что в итоге получили.

— Начать хотелось бы с небольшого исторического экскурса.
Читать дальше →
Total votes 9: ↑8 and ↓1+7
Comments1

Список ноотропов, покупка которых не окажется пустой тратой денег

Reading time5 min
Views297K

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

Читать далее
Total votes 121: ↑85 and ↓36+49
Comments238

Простой Telegram-бот для получения информации через MQTT

Reading time3 min
Views13K

Этот бот был разработан для просмотра информации, находящейся на mqtt сервере внутри локальной сети. Он может работать на одном компьютере с mqtt сервером (в том числе на Raspberry PI или подобном) или отдельно. Задача удалённого управления не ставилась, только предоставление доступа к данным.

Читать далее
Total votes 8: ↑6 and ↓2+4
Comments8

Готовьсь, цельсь, пли! Как не обжечься при сборке Gradle-приложения, и настолько ли всё серьезно?

Reading time14 min
Views30K

Доброго дня, читатель! Меня зовут Стручков Михаил и я Android-разработчик в команде мобильного оператора Yota. 

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

Предлагаю вам упростить тернистый путь к пониманию сборки Gradle-приложений, разобрать основные этапы и их особенности, и попробовать совместно сократить трафик stackoverflow на тему Gradle. В качестве бонуса немного коснемся Gradle-плагинов и разберемся, как к ним подходить. 

Читать далее
Total votes 23: ↑22 and ↓1+21
Comments9

Выходим на рынок Huawei, или Как мы адаптировали приложение для работы с HMS

Reading time11 min
Views9.4K


Привет, Хабр! Меня зовут Георгий Гигаури, я разрабатываю Android-приложение Delivery Club. Эта статья появилась после доклада на конференции Mobius 2020, где мы выступали вместе с Павлом Борзиковым. Для тех, кто любит видео, — ищите его в конце статьи.

Почему мы вообще обратили внимание на Huawei-устройства? Всё началось с того, что Huawei теперь не может распространять свои устройства с сервисами Google Play. Да, они могут использовать ОС Android, так как это открытая операционная система, но чтобы распространять устройства с сервисами Google Play, необходимо иметь лицензию. К сожалению, Huawei не может получить её из-за разногласий между Китаем и США. Поэтому Huawei приходится разрабатывать свои собственные Mobile Services. Справедливости ради, они этим занимались уже давно, но теперь им приходится расширять кодовую базу, активно увеличивать количество сервисов.
Total votes 36: ↑34 and ↓2+32
Comments4

Книги с необычными вымышленными эпидемиями

Reading time6 min
Views21K

Минувший год выдался таким, что весь интернет разом вспомнил, что вроде как в Древнем Китае «чтоб ты жил в интересные времена» было отнюдь не добрым пожеланием. Времена действительно интересные, возможно, кто-то действительно будет рассказывать внукам, как жилось в период всемирной пандемии.

Фантасты тоже любят рассказывать про всемирные эпидемии. Или не всемирные, но разнообразные вирусы и болезни изобретать любят точно, причем временами абсолютно невероятные. И вот несколько ярких тому примеров.

Читать далее
Total votes 24: ↑23 and ↓1+22
Comments44

Как правильно идентифицировать Android-устройства

Reading time6 min
Views25K

Всем привет! Если вам нужно  создать уникальный и стабильный идентификатор Android-устройства для использования внутри приложения, то вы наверняка заметили тот хаос, который присутствует в документации и в ответах на stackoverflow. Давайте рассмотрим, как решить эту задачу в 2020 году. О том, где взять идентификатор, стойкий к переустановкам вашего приложения, и какие могут быть сложности в будущем — в этом кратком обзоре. Поехали!

Читать далее
Total votes 16: ↑15 and ↓1+14
Comments11

Как я хотел разнообразить ретроспективы, а сделал собственную карточную игру

Reading time7 min
Views11K
Картинка с названием статьи

В этой статье хочу поделиться своей историей геймификации ретроспективы: как с помощью придуманной мной карточной игры нам удалось разнообразить процесс, сделать встречу нескучной и вовлечь в обсуждение всех участников команды. А также расскажу о нюансах печати своих карточек для игр.
Читать дальше →
Total votes 14: ↑14 and ↓0+14
Comments4

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

Reading time14 min
Views137K


Полтора килограмма термоядерного Тринидадского Скорпиона я в итоге собрал с одного куста на гидропонике.


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


Небольшая часть урожая


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


Сегодня в меню


  1. Что такое гидропоника и почему она гораздо проще, чем почва с червячками
  2. Никаких дорогих бутылочек. Мешаем компоненты по три рубля за ведро
  3. Питание растения как алгоритм
  4. Как быстро собрать прототип гидропонной установки
  5. Что такое capsicum chinense и как выжить при дегустации
Total votes 248: ↑248 and ↓0+248
Comments328

Тестирование для мобильных разработчиков: полезные видео с Android-митапа

Reading time3 min
Views3.2K
Неважно, работаете ли вы в стартапе или крупной организации, продуктовой компании или аутсорсинговой. Всё это совершенно неважно, если в один момент вы решили не просто писать код, но и нести ответственность за него.

Именно этой теме мы посвятили встречу Android-разработчиков и мобильных тестировщиков на митапе Android Paranoid и обсудили:

  • Как разработчику с помощью тестирования привести проект к стабильности?
  • Чем разработчик может помочь тестировщику?
  • Как выбрать лучший инструмент для повышения качества разработки?

Таймкоды проставлены, добро пожаловать под кат.


Total votes 5: ↑5 and ↓0+5
Comments0

Как я «умный» телевизор Samsung до ума доводил — расширенный отзыв

Reading time43 min
Views213K
“Каждый человек обязан, по меньшей мере, вернуть миру столько, сколько он из него взял.” — Альберт Эйнштейн

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

Samsung OCM Support
Узнать подробности
Total votes 82: ↑78 and ↓4+74
Comments229

Простой зомби-шутер на Unity

Reading time24 min
Views60K
Всем привет! Скоро стартуют занятия в первой группе курса «Разработчик игр на Unity». В преддверии начала курса прошел открытый урок по созданию зомби-шутера на Unity. Вебинар провёл Николай Запольнов, Senior Game Developer из Rovio Entertainment Corporation. Он также написал подробную статью, которую мы и предлагаем вашему вниманию.



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



Дисклеймер №1: данная статья рассчитана на новичков. Если вы собаку съели в Unity, то она может показаться вам скучной.

Дисклеймер №2: для прочтения этой статьи вам потребуется хотя-бы базовое знание программирования. Как минимум, слова «класс» и «метод» не должны вас пугать.

Осторожно, под катом трафик!
Читать дальше →
Total votes 35: ↑35 and ↓0+35
Comments14

Знакомимся с языком Swift на примере игры Snake

Reading time9 min
Views16K


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


Читать дальше →
Total votes 16: ↑15 and ↓1+14
Comments1

Трансформация кода в Android

Reading time12 min
Views5K

Вместо вступления


Всё началось с того, что мне захотелось изучить тонкости настройки Gradle, понять его возможности в Android разработке (да и вообще). Начал с жизненного цикла и книги, постепенно писал простые таски, попробовал создать свой первый Gradle плагин (в buildSrc) и тут понеслось.


Решив сделать что-то, приближенное к реальному миру Android разработки, написал плагин, который парсит layout xml файлы разметки и создает по ним Java объект со ссылками на вьюхи. Затем побаловался с трансформацией манифеста приложения (того требовала реальная задача на рабочем проекте), так как после трансформации манифест занимал порядка 5к строк, а работать в IDE с таким xml файлом довольно тяжело.


Так я разобрался как генерировать код и ресурсы для Android проекта, но со временем захотелось чего-то большего. Появилась мысль, что было бы круто трансформировать AST (Abstract Syntax Tree) в compile time как это делает Groovy из-под коробки. Такое метапрограммирование открывает много возможностей, была бы фантазия.


Дабы теория не была просто теорией, я решил подкреплять изучение темы созданием чего-то полезного для Android разработки. Первое, что пришло на ум — сохранение состояния при пересоздании системных компонентов. Грубо говоря, сохранение переменных в Bundle максимально простым способом с минимальным бойлерплейтом.

Читать дальше →
Total votes 18: ↑18 and ↓0+18
Comments1

Навигация для Android с использованием Navigation Architecture Component: пошаговое руководство

Reading time6 min
Views39K
Попробуем, пользуясь официальным руководством и примерами кода, построить работающую систему навигации для будущего многоэкранного приложения в соответствии со стандартами Navigation Architecture Component. Статья включает следующие разделы:

Часть 1. Подготовительные работы
— 1.1. Создание проекта
— 1.2. Зависимости (Dependencies)
— 1.3. Страницы: создание фрагментов
— 1.4. Адреса: файл ресурсов типа «Navigation»
— 1.5. Фрейм: виджет NavHostFragment

Часть 2. Элементы навигации
— 2.1. Навигация с помощью кнопок
— 2.2. Боковое меню (Drawer)
— 2.3. Панель инструментов: Toolbar вместо ActionBar
— 2.4. Нижнее меню (Bottom Navigation)
— 2.5. Всплывающее меню (Overflow Menu)

Краткие выводы и ссылка на github
Читать дальше →
Total votes 8: ↑8 and ↓0+8
Comments5

Что почитать и посмотреть из свежей фантастики: Марс, киборги и восставший AI

Reading time5 min
Views53K


За окном весенняя пятница, и очень хочется отвлечься от кодинга, тестирования и прочих рабочих дел. Мы собрали для вас подборку понравившихся фантастических книг и фильмов, которые вышли примерно за последний год.
Читать дальше →
Total votes 71: ↑68 and ↓3+65
Comments217

Разбираемся с Clean Code в Android

Reading time7 min
Views12K
В качестве вступления хотелось бы вспомнить цитату дядюшки Боба
Вы читаете эту статью по двум причинам. Первая — Вы программист, вторая — Вы хотите быть лучшим программистом.
Читать дальше →
Total votes 7: ↑7 and ↓0+7
Comments3

Медиасистема для Toyota Prius (рестайл)

Reading time8 min
Views19K


Эта первая (вводная) статья серии о том, как я собираюсь доработать медиасистему автомобиля. Сам проект в процессе, времени, как и у всех — нет, поэтому, дорогие читатели, запаситесь терпением, ибо часто клепать статьи не обещаю.

А началось все с того, что у меня появился Prius.

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

Родилась идея как-то соединить Android магнитолу с автомобилем более плотно, чем предлагают братья-китайцы. Об этом и статья.
Читать дальше →
Total votes 36: ↑36 and ↓0+36
Comments47
1

Information

Rating
Does not participate
Location
München, Bayern, Германия
Date of birth
Registered
Activity