Android Broadcast
14.2K subscribers
3.49K photos
335 videos
11 files
5.87K links
Подборка новостей и статей для Android разработчиков.

Связь с автором @android_broadcast_bot
Реклама @android_broadcast_bot

РКН https://abdev.by/rkn_tg_ab
Download Telegram
#Kotlin #Collections #Sequence

Красивая визуализация в отличие использовании операций для Collection и Sequence от Florina Muntenescu
#Giphy #SDK

Представлено Android и iOS SDK для Giphy

Любите веселые анимашки с GIPHY? Тогда теперь вы можете сделать интеграцию между своими приложением и этим сервисом!
#Podcast #DEX #ART #Dalvik #UnderTheHood

Android Dev Podcast #96: DEX формат, его инструментация и Android рантаймы
Продолжительность: 1:08:44

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

В последнем выпуске ребята из Android Dev Podcast рассказывают о том как под капотом Android исполняется и оптимизируется код
#Fuchsia

Будущее уже здесь - fuchsia.dev

Появился сайт с документацией ОС с открытым исходным кодов - Fuchsia. Та новая операционка от Google, вокруг которой давно ходят слухи.

На сайте уже можно найти следующее:
👉 Описание ОС Fuchsia
👉 Разработка под новую ОС
👉 Обзор системы
👉 Ядро Zircon (не Linux)
👉 Fuchsia SDK Reference
#Room #Kotlin

How to create M:N Relationship with Room and Kotlin

Room - очень удобная ORM для Android. Ее отличительные особенности:
👉 удобство использования
👉 интеграция с Architecture Components и другими популярными библиотеками
👉 отсутствие рефлексии

Но не все возможности поддерживаются этой библиотекой, например из коробки нет возможности построить отношение M : N 😦. В статье вы найдете рецепт как исправить отсутствие этой функции (я надеюсь что с будущими релизами ее исправят).
#JetpackCompose #UI

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

Текущий тренд во всей разработке с UI - декларативные фреймворки. Jetpack Compose - решение этого вопросы для Android. Пока оно очень сырое и не готово к использованию в боевых приложениях, но уже можно посмотреть на то как мы будем писать UI через 1-2 года.
#Korlin #Parcelable

Kotlin Android Extensions: Parcelize

Android - особенная ОС, поэтому ей даже сделали особенный формат сериализации данных - Parcelable. Конечно он быстрее, лучше и весь такой крутой по сравнению с Serializable, но проблема в одном - множество boilerplate кода, который надо писать, а все мы знаем, что разработчики ленивы 😁

Kotlin сделал нашу жизнь лучше и даже сделали специальное расширение, которое упрощает жизнь разработчикам под Android - Kotlin Android Extensions, в рамках которого есть функция, упрощающая реализацию Parcelable. Для этого вам необходимо добавить аннотацию @Parcelize к вашему классу.
#Gradle

Вышел Gradle 5.5

Новый релиз системы для сборки приложений Gradle принес ряд новых возможностей:
👉 Трансформация зависимостей во время их поиска
👉 init плагин теперь поддерживает JUnit 5 и генерацию проекта для Gradle плагина
👉 Обновлена документация по сборки нативных приложений с Gradle
👉 Исправление багов

Улучшения для разработчиков Gradle плагинов:
👉 Возможность выполнять inject системных сервисов (ObjectFactory, WorkerExecutor и пр.) в абстрактные поля
👉 Добавлены методы для создания domain object collection в ObjectFactory: domainObjectContainer​() и domainObjectSet()
👉 Собственные типы, такие как Task, Plugin или Project, могут быть реализованы как абстрактные классы
👉 Больше документации по написанию собственных плагинов
#Dagger #Kotlin #DependencyInjection

Painless Dagger+Android+Kotlin

Dagger 2 - самый популярный DI на Android. Но не все так идеально, так как приходится писать слишком много boileplate кода для его работы. Как уменьшить количество этих строк в ваших исходниках? Воспользуйтесь основными рекомендациями:
1️⃣ Не используйте dagger-android
2️⃣ Используйте androix.fragment 1.1.0, в которой появились возможность делать inject зависимостей в конструктор Fragment с использованием FragmentFactory
3️⃣ Используйте inject в конструкторы вместо объявление зависимостей в модулях
4️⃣ Для предоставления зависимостей, тип которых является интерфейс используйте @Binds
5️⃣ Не используйте Dagger Component для получения зависимостей оттуда

Лично от себя рекомендую обратить внимание на простые библиотеки, разработанные в EPAM:
👉 Assisted ViewModel - упрощение inject ViewModel
👉 Dagger Generate Binds - упрощение объявление @Binds
#Conference #Minsk #MobilePeople

Последние 3 месяца сообщество Mobile People (и я в том числе) готовило для вас большое мероприятие - Mobile People Day в рамках RS Conf.

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

👉 Йонатан Левин@monday.com - Android GDE, основатель Android Academy
👉 Александр Блинов@Headhunter - ведущий Android Dev Podcast
👉 Elaine Dias Batista@SFEIR - Google Assistant GDE
👉 Muhammed Salih Guler@Onefootball GmbH - Flutter GDE
👉 Anastasiia Voitova@Cossack Labs - специалист по безопасности мобильных приложений
👉 Дмитрий Мовчан@KasperskyLab - организатор Android Academy в Москве

Когда: 9 августа 2019
Формат: 1 день ➡️ 2 потока ➡️13 докладов
Место: Культурный хаб OK16 (карта)

Больше спикеров и информации о них вы можете найти на сайте конференции

* GDE - Google Developer Expert
#MobilePeople #Free

Хотите выиграть бесплатный билет на Mobile People Day? Рецепт следующий:
Forwarded from Mobile People Talks (Александр Денисов)
Асинхронность - знаешь что об этом ты? Part I

Первоначальной идеей этого выпуска было обсуждение асиннхронности, подходов и решений со всех, так сказать, четырех сторон. Сначала обсудить нативные темы, а потом обсудить кроссплатформенные решения. И начиналось все вроде бы хорошо, обсудили многопоточность, классические проблемы, языки, которые живут без этого, но потом Данис с Кириллом так увлеклись беседой о сходствах и различиях асинхронных подходов в Android и iOS, что на Flutter и React Native просто тупо не хватило времени!

🤪 Так что придется делать два выпуска по цене одного! Асинхронность Flutter vs ReactNative ждите в следующем!

🎧 SoundCloud
🎧 Apple Podcasts
#AndroidStudio #Productivity #Template

Supercharging your app development speed with custom file templates

Boilerplate код - это неприятное для любого программиста часть кода. Оно тратит время и добавляет лишний код, затрудняя читабельность кода. Все это влияет на стоимость конечной разработки, что не нравится бизнесу.

Самый популярный boilerplate код, который можно встретить это архитектура: MVVM, MVP, Clean Architecture и пр. Дело в том что этот код имеет одинаковое строение и много схожего API. Так почему бы не избавиться от этого и сделать генерацию каркаса архитектуры фичи с помощью IDE?

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

Android Environments build Gradle plugin

С приходом билд системы на основе Gradle в Android появилась возможность использования BuildConfig - специального класса, в котором содержится ряд стандартных констант (версия, buildVariant и пр.) так и имеется возможность добавлять свои собственные из Gradle скриптов.

Проблема в том, что описывать множество таких констант для разных buildType и productFlavor не является удобным. Для решение этой проблемы я нашел удобный Gradle плагин, который позволяет описывать константы в property файлах, расположенных в соответствующей buildType и productFlavor папке в исходниках.
#AndroidAcademy #Moscow

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

Android Academy возвращается в Москву с новым курсом Advanced 🎉. В рамках него вы сможете познакомиться с различными темами из Android разработки на более глубоком уровне.

Курс будет полезен тем кто уже успел окончить курс Fundamentals, так и практикующим инженерам, которые хотят улучшить свои знания в Android разработке.

Вас ждет 6 лекций по 1.5 часа каждые 2-3 недели:
1️⃣ Advanced Multithreading
2️⃣ Optimizations
3️⃣ Advanced & Secure Networking
4️⃣ Advanced Architecture
5️⃣ DI: How to and why
6️⃣ Android Internals

Когда: 25 июля 19:00
Где: офис "Авито", БЦ «Белые Сады», ул. Лесная, 7

Участие бесплатное по предварительной регистрации
#Yandex

Yandex Droid Mission

Разработчики Яндекса запустила онлайн-квест с задачами, которые часто приходится решать Android‑специалистам.

Конкурс проходит с 25 июня по 25 июля. Участвовать в онлайн-квесте могут граждане России и других стран СНГ, достигшие возраста 18 лет.