Как стать автором
Поиск
Написать публикацию
Обновить
124.5

Android *

Пишем под самую популярную мобильную ОС

Сначала показывать
Порог рейтинга
Уровень сложности

Meeting Room L̶i̶t̶t̶l̶e̶ Helper v 2

Время на прочтение18 мин
Количество просмотров2.9K
Данная статья подробно описывает этапы разработки мобильного приложения Meeting Room Helper: от зарождения идеи до релиза. Приложение написано на Kotlin и построено по упрощённой MVVM архитектуре, без использования data binding. Обновление UI-части происходит с помощью LiveData-объектов. Причины отказа от data binding подробно разобраны и объяснены. В архитектуре используется ряд интересных решений, позволяющих логично разбить программу на небольшие файлы, что в конечном счете упрощает поддержку кода.


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

Время на прочтение4 мин
Количество просмотров4.7K
В новом выпуске нашего дайджеста дизайн Яндекс.Авто, карта метро, некстген симуляция движения человека, личные проекты, лучший квартал для мобайла за всю историю, простое объяснение юнит-экономики и много другого интересного.

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

Путь школьника к разработке мобильных приложений

Время на прочтение6 мин
Количество просмотров14K
Здравствуйте, хочу рассказать о том, как я пришёл к созданию своей первой относительно серьезной игры для IOS и Android.

Предыстория


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

Практика использования библиотеки lottie в мобильном приложении банка

Время на прочтение5 мин
Количество просмотров6.6K
Привет, Хабр!

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

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

Иследование современного Malware Cerberus под Android

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

На носу 2020 год и сегодня мы имеем уже версию Android 9.0 Pie, где компания Google бьет себе в грудь и говорит что их продукт защищен. Но злодеи не дремлют и создают свои вредоносы для Android.

Случайным образом мне попался на руки обфусцированный apk файл, который является банковской малварью под названием «Cerberus», и появился он в 2019 году.

APK файл данного ботнета попал мне с недействительным адресом соединения с сервером, по этому часть логики работы и функционала осталась неизученной, так как данный ботнет использует «модульную» систему, и подгружает функционал напрямую со своего сервера.
Читать дальше →

Обновляем проекты Unity Android для совместимости с архитектурой ARM64

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

Google предложил разработчикам обновить приложения для совместимости с архитектурой ARM64 в срок до 1 августа 2019 года, если они не соответствуют этим требованиям


Найдем и включим поддержку ARM64 в Unity


Для включения, откроем настройки File — Build Settings, далее — Player Settings для платформы Android. В открывшемся инспекторе, видим на вкладке Other settings раздел Configuration.
Читать дальше →

Карта Метро Москвы и всего мира для Android

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

ГЛАВА 1. Амбиции


Конец февраля 2018



Мы, как адепты идеологии свободного ПО и свободного рынка считаем, что монополия — это плохо.

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

Команда: в разное время от 2х до 4х человек.

Повествованием охвачено только Android приложение, ввиду того, что оно было запущено первым и все основные механизмы были обкатаны на нём. Конечно, на текущий момент доступна и версия для iOS.

ГЛАВА 2. Маршрут во мраке


Март – июнь 2018.

Нужна карта. Берем SVG, пихаем в SVGView, все отлично. Лагает ужасно, но мы радостные. Как рисовать отдельные маршруты? Никто не знает.

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

К тому же нам было нужно, чтобы приложение работало как можно быстрее. Использование WebView сразу отпадает, нужна GL-поверхность. Решили попробовать с SurfaceView (opengl поверхность, которую можно использовать как канвас) – всё не то. Она может производить изменения внутри себя, мигая черным цветом, так как она просто плохо реализована и не может выдержать нагрузку больше отрисовки кубика 20х20. Она может увеличиваться, пропадая через раз. Нам нужно было другое решение, но такое, которое было бы не так далеко от SurfaceView, так как по интерфейсу нам она полностью подходила.

image
Вкратце про баги драйверов на Android
Читать дальше →

#18 Mosdroid Argon в Lamoda — анонс

Время на прочтение2 мин
Количество просмотров1.2K
Ссылка на трансляцию: www.youtube.com/c/MOSDROID/live

Всем привет! Меня зовут Виталий Бендик, я — тимлид команды Android-разработки.
Хочу пригласить вас на #18 Mosdroid Argon, который пройдет 19 июля в нашем новом офисе.

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

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

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

Из риелтора в разработчика игр 2. «Операция: Андроид»

Время на прочтение6 мин
Количество просмотров12K
Добрый день, Хабр.

Две моих предыдущих статьи (раз, два) вы приняли очень тепло и даже выдвинули в топ, поэтому и продолжение не заставило себя ждать. Всего-то полгода, не такой уж и большой срок. Для тех, кто не в курсе – меня зовут Тим, мне 30 лет, я риелтор и сейчас пытаюсь стать разработчиком игр, все еще не умея программировать. А как оно все идет – я вам расскажу и покажу. Статья красочная, приготовьтесь. Заходите под кат, добро пожаловать.

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

Справочник по источникам событий в Rx

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


RxJava используется в большом количестве android-приложений, но при этом многие не знают других источников событий, кроме Observable и, может быть, Flowable. Они забывают о специализированных классах Single, Maybe и Completable, которые зачастую способны добавить больше ясности в код.

Под катом вас ждёт шпаргалка по источникам событий, которые существуют в RxJava.
Читать дальше →

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

Время на прочтение3 мин
Количество просмотров5.7K
Очередной дайджест для мобильных разработчиков — в нем мобильная экстрасенсорика, новый порос Developer Economics, знакомство с HealthKit, онлайн-квест для разработчиков, Bixby Marketplace и много других интересных материалов.

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

Что (не)нужно знать для создания игр на Unity

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


Unity — игровой движок, с далеко не нулевым порогом вхождения (сравнивая с тем же Game Maker Studio), и в этой статье я расскажу с какими проблемами столкнулся начиная его изучение, и какие решения этих проблем нашел. Я буду описывать подобные моменты на примере своей 2d игры-головоломки для Android (которая, надеюсь, скоро выйдет в Play Market).
Читать дальше →

Summer Droid Meetup

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


Привет! Приглашаем android-разработчиков на наш Summer Droid Meetup. 3-е августа, Сад Эрмитаж, Каретный ряд, д 3, стр 6, «Веранда 32.05». Начало в 12:00.

Программа митапа


«Сбор и анализ неординарных данных Android-приложения», Дмитрий Васильев, FunCorp


О докладе

Доклад про аналитику технических показателей приложения.

Цель — рассказать об инструментах сбора и анализа данных для мобильных приложений (и не только), которые мы используем. А также о том, какие технические характеристики приложения нуждаются в сборе и как их анализировать.

Поговорим о том:

  1. Как и куда мы осуществляем сбор данных по iFunny
  2. Какие технические данные собирать
  3. Как и где их анализировать
Читать дальше →

Ближайшие события

MotionLayout: анимации лучше, кода — меньше

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

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

Недавно закончилась конференция Google I/O 2019, на которой анонсировали обновления и самые свежие улучшения нашего любимого SDK. Лично мне особенно интересна была презентация Николаса Роарда и Джона Хофорда о будущей функциональности ConstraintLayout. А точнее, о его расширении в виде MotionLayout. 

После выпуска бета-версии мне захотелось реализовать анимацию знакомств на основе этой библиотеки.
Читать дальше →

Android Academy в Москве: Advanced Course

Время на прочтение5 мин
Количество просмотров5.5K
Всем привет! Лето — это отличное время года. Подошли к концу Google I/O, Mobius и AppsConf, а многие студенты уже закрыли или вот-вот уже закончат сдавать сессии, все готовы выдохнуть и наслаждаться теплом и солнцем.

Но только не мы!

Мы долго и упорно готовились к этому моменту, стараясь завершить свои дела по работе и проектам, накопить сил, чтобы наконец вернуться к вам с новостями: Android Academy возвращается в Москву.

UPD от 5.07: Друзья, регистрация заполнилась и закрыта. Но лекции обязательно будет выложены на канале, подписывайтесь и ждите выхода видео. А в телеграм-канале с новостями будут анонсы будущих лекций, подписывайтесь, чтобы не пропустить следующую!

А под катом мы расскажем, что вас ждет в этом году.


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

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

Время на прочтение3 мин
Количество просмотров5.3K
В нашем новом выпуске создание вездесущих сплэшскринов, уход прекрасного Джони Айва, тщательная проверка приложений в App Store, параноидальные видео, искусственная музыка и много других интересных материалов.

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

Шпаргалка по Gradle

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

Как мне кажется, большинство людей начинают разбираться с gradle только тогда, когда в проекте что-то надо добавить или что-то внезапно ломается — и после решения проблемы "нажитый непосильным трудом" опыт благополучно забывается. Причём многие примеры в интернете похожи на ускоспециализированные заклинания, не добавляющие понимания происходящего:


android {
    compileSdkVersion 28
    defaultConfig {
        applicationId "com.habr.hello"
        minSdkVersion 20
        targetSdkVersion 28
    }
    buildTypes {
        release {
            minifyEnabled false
        }
    }
}

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


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

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

Руководство по React Native для начинающих Android-разработчиков (с примером приложения)

Время на прочтение5 мин
Количество просмотров75K
Представляем вам перевод статьи Nikhil Sachdeva, опубликованной на hackernoon.com. Автор делится опытом разработки мобильных приложений с помощью React Native и предлагает создать свое приложение, используя этот фреймворк.

image

Я был Android-разработчиком и довольно длительное время использовал в работе Java. Лишь недавно я попробовал свои силы в создании мобильных приложений с помощью React Native. Это заставило меня взглянуть на процесс разработки по-новому, если не сказать больше. Цель моей статьи — показать, какие различия я заметил, используя эти два фреймворка в разработке приложений.
Читать дальше →

Погружение в Jetpack Compose

Время на прочтение7 мин
Количество просмотров9.8K
Всем привет. Перед уходом на выходные спешим поделиться с вами еще одним переводом, подготовленным специально для студентов курса «Android-разработчик. Продвинутый курс».



Пробуем новый UI-фреймворк для Android-приложений


В течение последних нескольких лет, участвуя во многих мобильных проектах, мне приходилось использовать различные технологии, например, такие как Android, ReactNative и Flutter. Переключение с ReactNative обратно на классический Android вызвало у меня смешанные чувства. Возвращение к Kotlin прошло хорошо, но я очень скучал по UI-фреймворку React. Небольшие повторно используемые компоненты, с помощью которых создается пользовательский интерфейс, великолепны и обеспечивают большую гибкость и скорость разработки.
Читать дальше →

Как прошёл Mobius 2019 Piter (и немного о следующем Mobius)

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


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

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

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

Вклад авторов