Обложка канала

Android Broadcast. Страница 107

Качественная выборка Android Dev новостей, тезисы важных новостей и статей, личное мнение

  • Android Broadcast

    #ArchitectureComponents #Navigation

    What’s New in Navigation 2020

    Navigation Arch Component в первой своей версии много чего не умел, чего не хватало разработчикам. За последнее время все это наверстали:
    👉 Доступ к NavBackStackEntry: расширение навигации за рамки NavDestination
    👉 Шаринг данных между элементами NavGraph с помощью NavBackStackEntry, которая является ViewModelProvider
    👉 Поддержка Activity Result
    👉 Поддержка Dynamic Features
    👉 Тестирование навигации
    👉 Получение параметров из Deep Link
    👉 Kotlin DSL для описания графа
    👉 Улучшения API

    В статье найдете более подробный обзор этих возможностей
  • Android Broadcast

    #BestPractices

    40 советов, которые навсегда изменят ваше программирование

    Статья, которая содержит 40 достаточно полезных рекомендаций для разработчика, будет полезна как новичкам, так и опытным программистам. Заголовок немного кликбейтный, потому что каждому разработчику присущ свой стиль написания кода, но советы действительно помогут пересмотреть свои взгляды на определённые вещи в разработке.
  • Android Broadcast

    #Activity

    Improving inter-activity communication with Jetpack ActivityResult

    В ближайшем релизе androidx.activity нас ждёт замена onActivityResult() на новое API - Activity Result API. Вместо хранения requestCode, понимание правильно resultCode вы теперь просто делаете запрос и получаете результата.

    Самое важное еще - все гайды с получением результата уже переписаны на новое API, а onActivityResult() будет deprecated
  • Реклама

  • Android Broadcast

    #Resourses

    How to name a color in Android

    Есть мнение, что одной из основных проблем в программировании является именование. Как часто вы сталкивались с тем что не можете придумать название функции или ресурса? Для нас, как Android разработчиков беспорядок в xml с цветами является весьма привычным делом, хотя студия часто спасет, отображая цвет в колонке с нумерацией строк.

    Автор статьи предлагает систему для именования цветов в xml, дабы в будущем избежать путаницы.
  • Android Broadcast

    #Lifecycle

    Lifecycle 2.3.0-alpha06

    Изменение поведения
    👉 DESTROYED теперь терминальное состояние, что означает отсутствие каких-либо дальнейших событий
    👉 LifecycleRegistry теперь будет проверять, что метод вызываются на главном потоке

    👉 Новые вспомогательные методы downFrom(State)downTo(State)upFrom(State)upTo(State), которые генерирует Event для заданного State и направление перехода для его осуществления.
    👉 Новый метод Lifecycle.withStateAtLeast, который дожидается когда Lifecycle, достигнет заданного состояния
  • Android Broadcast

    #WorkManager

    WorkManager 2.4.0

    👉 Больше возможностей для планировщика WorkManager, что запускает WorkRequest
    👉 Поддержка RxJava3
    👉 Возможность получить WorkInfo, используя WorkQuery.
    👉 Возможность получить диагностическую информацию о работе WorkManager
    👉 Новая политика ExistingWorkPolicy.APPEND_OR_REPLACE
    👉 Возможность задать свой собственный RunnableScheduler для отслеживания WorkRequest, который будет выполнен позже
    👉 Возможность динамического добавления фабрик в DelegatingWorkerFactory
    👉 Новые правила Android Lint
    👉 Улучшения в отслеживании BATTERY_NOT_LOW
    👉 Улучшения в работе и исправления багов
  • Android Broadcast

    #AnroidX

    Релиз AndroidX от 22.07.2020

    Новые релиз обновлений нам принес:
    👉 Стабильный WorkManager 2.4.0 (о них ниже)
    👉 AndroidX Core 1.3.1 с исправлением бага c Typeface на Android 10
    👉 Lifecycle 2.3.0-alpha06 получил пачку интересных изменений (о них ниже)
    👉 Room 2.3.0-alpha02 получил поддержку RxJava 3 и включил инкрементальный процессинг по умолчанию
    👉 Множество новых альфа-версий других библиотек
  • Android Broadcast

    #UML

    UML для самых маленьких: диаграмма классов

    Автор статьи даёт новичкам теоретическую базу по UML-диаграммам для структуризации дерева классов в проекте. Диаграммы, благодаря общепринятым правилам, помогают более наглядно увидеть взаимоотношения и зависимости между моделями и абстракциями, а так же отображают структуру самого класса. Автор рекомендует составить подобную диаграмму прежде чем начинать любой новый проект, дабы предотвратить разногласия и непонимание структуры моделей всего проекта.
  • Android Broadcast

    В корневом build.gradle вашего проекта надо добавить следующие строчки.
  • Android Broadcast

    #R8

    Для тех кто обновился до AGP 4.0 то могли столкнуться с новыми багами в R8, инструментом для минификации и обфускации кода.

    Версия R8 2.0.88, которая используется по умолчанию в AGP 4.0.1, генерирует байткод с проблемама при процессинге suspend функций

    Ошибка исправлена в R8 2.1.52. Ниже пример кода как обновить R8 ⬇️
  • Android Broadcast

    #Paging #RecyclerView

    Paging with Paging 3

    Рассказа про следующую версию Paging библиотеки, которая добавляет все хотелки разработчиков. Больше деталей и примеров в видео и статье
    Paging with Paging 3

    The Paging library enables you to load large sets of data gradually and gracefully, reducing network usage and system resources. So we launched Paging 3.0 (now in alpha), a complete rewrite of the Paging 2 library using Kotlin coroutines (but still supporting…

    YouTube
  • Android Broadcast

    #Dagger #Hilt #Migration

    Migrating the Google I/O app to Hilt

    Google перевела приложение Google I/O на Hilt и результаты впечатляющие - убрали 1500 строк кода. Миграцию выполняли с dagger.android. Тем кто готов уже пробовать альфу - можете использовать как гайд, а исходники приложения как пример
  • Android Broadcast

    #BatteryOptimization #OEM

    The Bifurcation Of Android

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

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

    В статье вы найдете историю борьбы разработчика с производителем устройств и что Google предпринимает для того, чтобы приструнить создателей смартфонов
  • Android Broadcast

    #Kotlin #Native

    Kotlin/Native Memory Management Roadmap

    В Kotlin/Native изменится модель управления памятью, чтобы избавиться от ограничений, которые сейчас накладываются на параллельное программирование. Изменения пока еще находятся на стадии проектирования и текущая модель останется работать.
  • Android Broadcast

    #Dagger #Hilt #DependencyInjection

    Scoping in Android and Hilt

    В Dagger мы привыкли работать с Subcomponent и делать разные Scope, для того чтобы управлять жизнью отдельных объектов графа. В Hilt нас ждут перемены работы с графом и это задело Scope тоже

    В статье происходит разбор того как создать Scope для ViewModel при использовании Hilt
  • Реклама

  • Android Broadcast

    #Gradle #Performance

    The proper care and feeding of your Gradle build

    В дополнение к вчерашнему посту об оптимизации Gradle сборки Android проектов рекомендую еще уделить внимание и анализу зависимостей и плагинов вашего проекта.

    В статье разбирается Dependency Analysis Gradle Plugin. Плагин поможет понять вам:
    👉 Есть ли у вас в проекте неиспользуемые зависимости
    👉 Если ли у вас неиспользуемые процессоры аннотаций
    👉 Правильно ли вы объявляете зависимости
    👉 Используете ли вы транзитивные зависимости, которые лучше объявить явно
    👉 Все ли плагины используются?
  • Android Broadcast

    #AndroidBroadcast

    Помимо всего еще появились и интересные Zoom фоны от Android Broadcast! 🔥🔥🔥

    Скачать фоны в высоком качестве можно ➡️ здесь
  • Android Broadcast

    #AndroidBroadcast

    Android Broadcast совместно с Avito.tech разработали стикерпак. Заветы Джейка, RxJava, Kotlin, Jetpack. Все это можно найти в стикерах.