Android Broadcast – Telegram
Android Broadcast
14.4K subscribers
3.68K photos
368 videos
11 files
6.1K links
Подборка новостей и статей для Android разработчиков.

Реклама и связь с автором @ab_manager

РКН https://abdev.by/rkn_tg_ab #MQRZR
Download Telegram
Подключение библиотеки

dependencies {
def nav_version = 2.0.0

// Java
implementation "androidx.navigation:navigation-fragment:$nav_version"
implementation "androidx.navigation:navigation-ui:$nav_version"

// Kotlin KTX
implementation "androidx.navigation:navigation-fragment-ktx:$nav_version"
implementation "androidx.navigation:navigation-ui-ktx:$nav_version"
}

Для тех кто хочет использовать версию на основе Android Support Library смотрите версию 1.0
👍1
#Network #LibUpdates

OkHttp 3.14

Изменения в библиотеке:
👉 Удалены уже давно помеченные как deprecated OkUrlFactory и OkApacheClient
👉 Добавлена поддержка duplex вызовов по HTTP/2
👉 Запрет на повторную передачу тела запроса с помощью RequestBody.isOneShot()
👉 EventListener теперь содержит новые методы requestFailed() и responseFailed(), которые requestBodyEnd() и responseBodyEnd(), в случае возникновения ряда ошибок
👉 Обновление до Conscrypt 2.0.0
👉 Обновление списка встроенных публичных суффиксов
👉 Исправление ошибок, утечек памяти,
👍1
Занимаетесь ли вы разработкой игр под Android?
Anonymous Poll
13%
Да
88%
Нет
#Google #Indie #GooglePlay #Games

Grow your indie game with Google Play

Google анонсировала Indie Games Showcase для независимых разработчиков игр - международное соревнование для игровых студий из Европы, Южной Кореи и Японии. В результате соревнования можно выиграть следующий призы:
👉 Оплату поездки на завершающее событие в вашем регионе
👉 Продвижение в Google Play
👉 Продвижение в различных маркетинговых каналах по Android и Google Play
👉 Консультация с командой Google Play
👉 Гаджеты от Google
👉 И другие...
👍1
#GooglePlay

Introducing a new Google Play app and game icon specification

Google Play Store представляет новые требования по дизайну для иконок приложений.

Какие изменения:
Размер иконок остаётся прежним, но прозрачный фон больше недопустим
Google Play и Chrome OS будут динамически закруглять углы и отбрасывать тень на иконку. Радиус углов будет 20% от размера иконки.
Изменения не касаются Google Play на Android TV, Wear и Auto
Изменения не касаются иконок в лаунчере для Android

Сроки для внесения изменения следующие:
1️⃣ Начало апреля - можно начать загрузку иконок с новыми требованиями. Старые и новые иконки будут отображаться корректно
2️⃣ 1 мая - можно загружать только новые иконки. Оба типа иконок будут отображаться корректно.
3️⃣ . 24 июня - старые иконки будут конвертированы в "legacy" режим. Загружать можно только новые иконки. Старые иконки будут сконвертированы в "legacy" режим

Обновление поможет команде из Google унифицировать внешний вид Google Play.

Google Play icon design specifications
👍1
Слева направо: старая иконка, новая иконка (пример), старая иконка в "legacy" режиме
#AndroidQ #WhatNews

Android Q - что нового для разработчиков

13 марта была представлена первая бета версия Android Q - очередного обновления популярной ОС. Основные изменения направлены на улучшение безопасности данных пользователя и ограничение возможностей сторонних приложений.

В статье я подробно разобрал все изменения
👍1
#ArchComponents #Navigation #MasterDetail

Master-Detail views with Navigation Components

Совсем недавно вышел Navigation Arch Component и идет его активное исследование. В статье рассказывается как реализовать "Master-Detail" на планшете с помощью новой библиотеки. Как оказалось это не совсем тривиальное решение.
👍1
#D8 #R8 #CPU #JVM

Android CPU, Compilers, D8 & R8

Статья о компиляции кода в Android и как Google улучшает процесс. В ней вы найдете:
👉 JVM и ее связи с Android
👉 Как работает JVM
👉 DEX
👉 Как читать байткод
👉 Как происходит сборка Android приложения
👉 Android Runtime (ART)
👉 D8 & R8
👍1
Мой первый барьер преодолён - 300 подписчиков ⭐️⭐️⭐️
🔥1
#Koin #DependencyInjection #Kotlin

Koin 2.0 Beta

Я люблю Kotlin и стараюсь использовать библиотеки, которые написаны на этом языке чтобы получить максимальную эффективность от использования Kotlin.

Самое важное в Koin 2.0 то, что библиотека упростила API и повысила скорость работы.
👍1
Результаты тестов Koin на LG G4 (Snapdragon 808/3 Gb). Как видите устройство не самое быстрое (ему уже 4 года), но результаты - 🔥🔥🔥
👍1
#GooglePlay

Google Mobile Developer Day at Game Developers Conference 2019

Google принимает участие в Game Developers Conference и сделала интересные анонсы:
👉 Теперь предварительная регистрация доступна для всех. Этот механизм позволяет заранее узнать о выходе продукта и подписаться пользователям на анонс приложения/игры, когда оно станет доступно в Google Play
👉 Увеличен размер конечной APK, получаемой из Android App Bundles, до 150 МБ (раньше было 100 МБ)
👉 Возможность кастомизации описания приложения в разных странах
👉 Обновление A/B тестов с описанием приложения в Google Play: теперь можно поменять описание для пользователей кто уже посетил страничку приложения.
👍1
#Coroutines #Architecture #ViewModel

Easy Coroutines in Android: viewModelScope

Coroutine имеют очень хорошую возможность - CoroutineScope, которые позволяют вам автоматически отменять выполнение всех Coroutine, связанных с ним. Это очень эффективно помогает при работе с UI, например при запуске Coroutine в Activity/Fragment/ViewModel.

Google активно поддерживает Coroutine и в AndroidX Lifecycle v2.1.0 добавлена поддержка CoroutineScope для ViewModel с помощью viewModelScope extension property. Подробности использования и реализации вы можете найти в статье!

Ждем релиза новой версии библиотеки
#Architecture #ViewModel #MVVM #ArchComponents

MVVM — How View and ViewModel should communicate?

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

На текущий момент очень популярным решением стало MVVM (Model-View-ViewModel). Рост спроса на эту архитектуру подкрепился тем, что разработчики из Google сделали готовые компоненты для удобной реализации этого подхода, что значительно упрощает задачу.

Замечание: классический MVVM, описанный в Microsoft, отличается от того что обычно применяется в Android

Чтобы сделать MVVM качественно надо придерживаться нескольких правил:
👉 У каждого компонента есть четкая роль: View отвечает за отображение данных, VM - предоставляет данные, которые отобразятся на View и обрабатывает события, связанные с данными в ней
👉 VM содержит только логику. Он не должен содержать никаких классов из Android SDK, все платформенное API должно предоставляться через абстракции в виде интерфейсов.
👉 Когда происходит клик или прочие события на UI, View только сообщается VM о произошедшем событие (простым вызовом метода в VM) и не выполняет какой-либо логики
👉 VM не знает ничего о View
👉 При модификации данных в VM они сразу же должны отображаться в View. Эффективный способ достичь этого - использовать LiveData. Это позволяет организовать push взаимодействие между VM и View, что дает мгновенное отображение любых изменений в данных на экране.
👉 ViewModel может предоставлять дополнительные методы для View. В случаях когда у вас много логики в VM можно вынести ее в отдельный класс - Presenter, который служит медиатором между VM. В таком случае VM будет служить чистым контейнером состояния View.

Следование правилам, описанным выше, позволит вам:
👉 реализовать эффективную архитектуру в Android
👉 не иметь проблем с жизненным циклом
👉 не думать о сохранение данных при повороте экрана
👉 позволит покрыть логику Unit тестами
👉 упростит расширение функционала в будущем
👍1
#MachineLearning #TensorFlow

TensorFlow Dev Summit key takeaways for Android Developers

На прошедшем TensorFlow Dev Summit было объявлено несколько важных новостей касательно работы этого фреймворка на Android:
👉 Ускорение TensorFlow Lite на GPU, которая увеличивает скорость 2-7 раз на устройствах с OpenGL ES 3.1 (Android 5.0+)
👉 Улучшена документация. больше примеров
👉 Запуск более сложных моделей на устройстве
👍1
#Gradle

Gradle 5.3 Released

Вышла новая версия Gradle. Релиз содержит следующие обновления:
👉 Feature variants (аналогично опциональным зависимостям в Maven)
👉 Обновление Kotlin DSL
👉 Gradle Module Metadata 1.0 - новый формат метаданных, которые решает проблемы Maven POM
👉 Исправление багов
👍1