Size: a a a

Android Live 🤖

2021 June 16
Android Live 🤖
​​Научитесь разрабатывать Android-приложения уже сейчас

На факультете Android-разработки вы освоите языки Java и Kotlin, изучите архитектуру, дизайн и тестирование приложений. Вы сможете работать в команде с другими студентами над реальными кейсами. После прохождения курса гарантируется трудоустройство.

Успейте поступить на курс со скидкой 30%: https://tprg.ru/9wWt
источник
2021 June 17
Android Live 🤖
​​Android приложение на Firebase
#firebase

Нашёл отличный пример приложения, написанное на Kotlin, которое использует продукты Firebase.

Автор решил ответить на топ самых популярных вопросов, связанных с Firebase в виде небольшого приложения, вот некоторые из них:
• как настроить авторизацию пользователей, и записать информацию о них в Cloud Firestore?
• как сделать авторизацию через Google корректной?
• как правильно читать данные из Realtime Database, используя MVVM, Coroutines и Flow?

Так и получилось приложение FireApp, где даны ответы на эти и многие другие вопросы. Автор говорит, что приложение будет пополняться фичами и дальше, так что, вероятно, нас ждёт большая функциональность.

Рекомендую ознакомиться, если вы раньше плотно не работали с Firebase сервисами, но задумываетесь об использовании их в своих проектах
источник
2021 June 19
Android Live 🤖
​​ADB-команды
#tools

Уверен, что вы знакомы с таким инструметом, как adb. По сути, это программа в виде командной строки, которая позволяет коммуницировать с подсоединённым устройством Android. Сегодня пару советов про этот полезный инструмент.

Есть шикарный и довольно плагин для автоматизации распространённых действий при помощи adb — ADB Idea, который крайне рекомендую поставить и пользоваться с удовольствием.

Также попалась неплохоая статья, где описываются наиболее распространённые и полезные команды. Не все из них вы будете применять каждый день, но может быть вы найдёте что-то полезное для себя.

От себя добавлю классный флаг к команде adb install -g app.apk, который дает все разрешения приложению. Удобно, если дебажите приложение и не хотите заморачиваться с лишним прокликиванием уже знакомых диалогов. Её также можно добавить как атрибут при запуске приложения из Android Studio.

А какой ваш топ полезных команд?
источник
2021 June 21
Android Live 🤖
​​AndroidX: App Startup
#jetpack #library

AndroidX App Startup — одна из самых малоизвестных библиотек из Jetpack. Давайте исправлять эту ситуацию и рассмотрим эту библиотеку детальнее.

Для чего она нужна?
Зачастую различные компоненты приложения инициализируют свою логику при его старте, например, такие компоненты как WorkManager или Lifecycle. Пользователь, который ожидает быстрого старта приложения, получает белый экран, особенно если у него не самый шустрый девайс. Для того, чтобы улучшить время старта приложения и появилась App Startup.

Как работает?
По сути, библиотека представляет из себя единый ContentProvider, который запускает несколько зависимостей одной за другой. Это позволяет исключить поведение, при котором компоненты используют свои собственные ContentProvider, замедляя старт приложения. Ну и killer-feature является то, что можно настроить момент инициализации компонента вручную и убрать часть инициализаций на старте.

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

Рассказывайте, уже использовали библиотеку? Как вам?
источник
2021 June 22
Android Live 🤖
Конференция по мобильной разработке Mobius ищет спикеров 🎙

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

Темы, которые ждут:
✔️ Платформы под капотом;
✔️ Software Craftsmanship;
✔️ Архитектура;
✔️ Качество продукта;
✔️ Тренды в мобильной разработке;
✔️ Инфраструктура.

Но не ограничивайтесь этим списком — вы можете подать заявку с любой темой из области мобильной разработки.

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

👉 Подать заявку и узнать подробности можно на сайте.
❓Вопросы присылайте на почту program@mobiusconf.com
источник
2021 June 23
Android Live 🤖
​​Миграция с Groovy на Kotlin DSL
#kotlin #gradle

Для многих разработчиков написание каких-то изменений в build.gradle — это боль. Во многом из-за языка groovy и его работы в Android Studio, который частенько отталкивает разработчиков от изменений.

Но решение есть, и это — Kotlin DSL, который позволяет настраивать gradle на всеми нами любимом Kotlin.
Несколько плюсов от этого:
🔹лучшая читаемость кода;
🔹большие возможности для написания скриптов, так как разработчики лучше знакомы с Kotlin;
🔹навигация по коду и подсказки;
🔹проверка ошибок во время компиляции;

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

Хорошая статья, которая описывает миграцию с groovy на Kotlin DSL тут.

Ну а лично я склоняюсь к тому, чтобы перейти к этому решению в своих проектах, так как удобств гораздо больше.
источник
Android Live 🤖
​​Стрим с обзором резюме №1
#youtube #android_live

Давно на YouTube-канале Android Live не было стримов. Исправляюсь и пробую новый формат — обзор резюме подписчиков.

Было несколько запросов об этой рубрике, и вот этот формат появляется на канале. Если вам зайдёт — сделаем его регулярным.

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

Наш гость — Евгений Васильев, HR-специалист с 5-летним опытом работы, на данный момент работает в Спортмастер, а до этого 2,5 года работал в системе Сбербанка.
Опыт работы связан с подбором персонала: Java, мобильные разработчики, devops/sre, администраторы баз данных, администраторы it-инфраструктуры, разработчики Oracle pl/sql и многие другие.

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

Стрим состоится 29 июня в 18:30 по МСК на канале Android Live. Подписывайтесь, чтобы не пропустить что-то интересное.😉
источник
Android Live 🤖
​​KMM для AppCode
#kmm

Сегодня вышла отличная новость: появился плагин для App Code, который позволяет писать Swift и Kotlin код внутри одной IDE. 🔥

Это очень круто, так как переключение между IDE — не самая удобная штука при написании таких проектов.

В будущем ребята обещают миграцию текущих .xcodeproj и .xcworkspace проектов на Gradle DSL, чтобы сделать возможным лучше соединить текущие проекты на Xcode с KMM и Android.

Звучит очень круто, мне такая кроссплатформа нравится. 💪
источник
2021 June 25
Android Live 🤖
​​Вышел Kotlin 1.5.20
#kotlin

Тут вчера прилетело новое обновление Kotlin. Как всегда, детали можно почитать в блоге, а здесь опишу кратко изменения:

🔸для получения максимальной пользы от последних JVM-фич, Kotlin расширяет использование динамических вызовов (invokedynamic). В этой версии добавилась конкатенация строк через invokedynamic, или если попроще, то теперь используется StringConcatFactory.makeConcatWithConstants() вместо  StringBuilder.append(). Подробнее тут.

🔸добавлена экспериментальная поддержка Java’s Lombok-generated методов. Тут можно почитать, что поддерживается на данный момент.

🔸также появилась экспериментальная поддержка плагина JSpecify, который включает в себя набор аннотаций для проверки на null в Java. По идее, плагин даёт возможность лучше управлять nullability, если вам важна совместимость с Java.

🔸компилятор Kotlin/Native теперь поддерживает экспорт KDoc из Kotlin-кода в Objective-C. Фича даёт возможность делать комментарии видимыми для тех, кто использует написанный вами код, что весьма удобно.

🔸исправлена функция Array.copyInto() в Kotlin/Native, которая теперь работает гораздо быстрее.

🔸добавлено руководство для миграции на новый JS backend.

🔸параллельное выполнение задач в gradle теперь контролируется Gradle parallel execution mechanism. Аннотация kotlin.parallel.tasks.in.project стала deprecated.

🔸экспериментальная фича для настройки кэширования, которая позволит увеличить скорость запуска kapt.

🔸пара мелких изменений в стандартной библиотеке, связанной с функциями isLowerCase(), isUpperCase() и digitToInt().
источник
2021 June 28
Android Live 🤖
​​Android-приложения на Windows 11

Тут недавно вышла новая операционная система от Microsoft — Windows 11.
Новость совсем не про Android-разработку, однако добавился интересный момент: теперь на ней можно будет запускать Android-приложения, скачанные с Amazon’s Appstore через Microsoft Store.

Microsoft заявляет, что эти приложения будут работать так же, как и остальные. Вроде как, это ответ на действия Apple с их новым процессором M1.

Мне кажется, что новость довольно любопытная, и очень интересно, будет ли возможность запустить приложения для debug во время разработки или же нет?

Чуть больше деталей тут.
источник
2021 July 02
Android Live 🤖
​​Развитие механизмов безопасности Android
#security

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

Если вам интересно, как изменилась безопасность системы Android с самых первых версий, то вот отличная статья.

Можно наблюдать, как эволюционировала безопасность Android от версии к версии и как это повлияло на дальнейшее развитие системы. Так что если вы увлекаетесь безопасностью, да и вообще людите историю операционных систем — welcome. 😎
источник
Android Live 🤖
Пятничный опрос на провокационную тему:

Какая у вас зарплата? (в ₽ на руки)  Можно честно, опрос анонимный 😉
Анонимный опрос
24%
до 69К
12%
70К — 99К
16%
100К — 149К
16%
150К — 199К
11%
200К — 249К
8%
250К — 299К
4%
300К — 349К
2%
350К — 399К
7%
400К и больше
Проголосовало: 1106
источник
2021 July 03
Android Live 🤖
5 июля старт Podlodka Soft Skills Crew – новой конференции про софт-скиллы для инженеров!

🟢 Перед конференций мы проведём несколько открытых вводных сессий о том, зачем нужны софт-скиллы.
Интенсив продлится две недели. Встречаемся дважды в день: утром и вечером
Вас ждут: крутые спикеры, сессии в лайве, ламповое общение и обмен кейсами в слаке, записи (для тех, кто не успевает на лайв).

🟢 Тема первой недели: Коммуникации
Во время неё узнаем, как общаться с другими людьми без стресса, даже если вы "интроверт". Обсудим принципы хорошей обратной связи руководству и коллегам. А ещё научимся распознавать манипуляции и защищаться от них.

🟢 Тема второй недели: Problem solving
Познакомимся с моделями мышления, научимся проходить поведенческие и проблемные интервью (типичные для FAANG). А также расширим своё видение и узнаем, как думают топ-менеджеры и предприниматели.

Подробности нашего свежего формата уже на сайте!🔥
источник
2021 July 04
Android Live 🤖
​​Nearby Connections API
#theory #api

Сегодня расскажу вам о довольно редком, но, на мой взгляд крутом и недооценённом API — Nearby Connections API. Оно позволяет устройствам связываться друг с другом даже при отсутствии Интернета.

Для чего нужно?
Это API даёт возможность делиться какими-то файлами, сообщениями и другими данными в своём приложении без сети. На сайте с документацией приведены такие примеры:
🔹трансфер файлов оффлайн;
🔹использование девайса в качестве контроллера в играх;
🔹игры с оффлайн мультиплеером;
🔹доски для совместной работы.

Как работает?
API использует Bluetooth и другие технологии, например WiFi, которые обеспечивают peer-to-peer соединение на близком расстоянии (в пределах 100 метров).
Безусловно, есть лимиты на количество соединений: Bluetooth поддерживает около 4 соединений одновременно, WiFi ограничивает примерно от 10 до 100 подключений одновременно в зависимости от того, доступны ли маршрутизаторы, которые можно использовать как «мост».

Помимо этого API существует альтернатива — Nearby Messages API, правда ей для работы нужен Интернет и размер передаваемых данных довольно мал.
С другой стороны, Nearby Connections API может работать только на Android, а прыдущий аналог поддерживает ещё и iOS.

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

Больше деталей о том, как добавить в проект это API можно найти тут.
источник
2021 July 05
Android Live 🤖
​​Material Transitions
#api #fragment

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

Одним из типов анимаций является Transitions: это анимации перемещения с одного экрана на другой. Мы можем анимировать или весь экран целиком, или только некоторые View этого экрана.

Попалась статья, где автор рассказывает о добавлении анимаций в приложение, где не было никаких анимаций перехода и о результатах, которые он получил.
источник
Android Live 🤖
Фриланс с каждым днем все больше набирает популярность среди разработчиков, ведь работать из дома куда приятнее, чем в душном офисе. Фриланс платформа CashForApp предлагает брать заказы на разработку мобильных приложений. Множество проектов разной сложности, которые подойдут как опытным, так и начинающим мобильным разработчикам. Достойная оплата за работу!

Ссылка на фриланс платформу: https://bit.ly/2SLvL5q

P.S. Для отображения полного списка активных задач необходимо зарегистрироваться. Ждем вас на нашей платформе!:)

#партнёрский
источник
2021 July 07
Android Live 🤖
​​Оптимизация RecyclerView при помощи префетчинга
#recyclerview

Даже стандартная реализация RecyclerView работает довольно стабильно и хорошо. ✌️
Однако, если ваш список состоит из нескольких типов элементов или эти элементы сложные, самое время задуматься о дополнительных оптимизациях. Самыми быстрыми и простыми в добавлении будут setHasFixedSize, DiffUtil, создание плоских View.

Автор статьи решил пойти дальше и добавить префетчинг View вне основного потока. Для этого он использовал RecyclerView.RecycledViewPool, который и выполнял нужную работу.

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

Кстати, есть уже готовая библиотека с реализацией этого подхода на Kotlin Coroutines, RxJava2, RxJava3 и Executor.
источник
Android Live 🤖
Windows 11, 10, etc - авторский канал с тайным знанием о флагманской ОС Microsoft

В комплекте срыв покровов и доставка пруфов.
источник
2021 July 09
Android Live 🤖
​​Recycler View Series
#recyclerview #новичкам

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

В первой статье рассматривается этот компонент, его принцип работы, ну и то как добавить самый простой список в проект. Отлично показано, как работают методы onCreateViewHolder(), onBindViewHolder().

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

Третья — очень короткая статья, которая рассказывает про имплементацию клика на элемент, а последняя в этой серии — про создание Header при помощи ConcatAdapter.

Так что если вы новичок — эта серия поможет разобраться во всей базе, связанной с RecyclerView. 🤟
источник
Android Live 🤖
GDG Wear OS meetup
#meetup #gdg

Ребята из GDG Minsk проводят митап, связанный с Wear OS, где расскажут:
🔹что из себя представляет текущее состояние Android Wear;
🔹какие форматы могут перекочевать в новую платформу;
🔹кому и ради чего стоит разрабатывать своё решение для wearable устройств.

Звучит интересно, ведь на последнем I/O мы видели то, сколько внимания Google уделили Wear OS.

Спикеры — Тимур Ахметгареев, и Виктор Раздьяконов, которые расскажут о всех тонкостях работы с Wear OS на своём опыте.
Мероприятие пройдёт 20 июля в 19:00 по МСК.

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