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

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

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

  • Android Broadcast

    #AndroidLint #DarkTheme

    Making Android Lint Theme Aware

    При добавление поддержкой темной темы в ваше приложение необходимо убедиться, что вы не используете хардкорно заданные цвета. Лучший вариант - это автоматизировать такую проверку. Например, с помощь Android Lint.

    В статье рассматривает как написать такую проверку самостоятельно. Исходный код примера можно найти здесь.
  • Android Broadcast

    #AndroidX #AndroidXWeekly

    AndrodX Weekly Update #2

    Последняя неделя подарила нам только один апдейт - WorkManager 2.2.0-rc01, который содержит багфиксы по сравнению с последней beta версией.
  • Android Broadcast

    #Gradle #Performance

    Incremental testing for Gradle multi-projects

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

    В статье рассматривается как из Gradle найти изменения в Git и запустить тесты только для измененных модулей.
  • Реклама

  • Android Broadcast

    #Retrofit #Coroutines #UnderTheHood #JakeWharton

    Exceptions and proxies and coroutines, oh my!

    В Retrofit 2.6.0 была добавлена поддержка Kotlin Coroutine - функции в интерфейсе Retrofit можно помечать ключевым словом
    suspend
    . Что стоит за этой реализацией? Какие образом Java Dynamic Proxy может работать с Coroutine? В своей статье Jake делает разбор
  • Android Broadcast

    #UnderTheHood #Text #Performance

    Отображение текста в Android

    Отображение текста одна из самых тяжелых графических операций в UI, так как для того чтобы нарисовать текст нужно сделать множество просчетов. Отключение переноса слов и перенос measuring текста в фоновый поток значительно разгружают ваш UI. Что же такого происходит под капотом в TextView?

    В статье вы найдете подробный разбор как объекта строки превращается в картинку на экране:
    👉 Нативные библиотеки под капотом
    👉 Как происходит перенос текста на новую строку
    👉 Использование различных стилей в TextView
    👉 Spanы
    👉 Как текст располагается в TextView
    👉 Оптимизация производительность TextView
  • Android Broadcast

    #GestureNavigation #AndroidQ

    Gesture Navigation: Going edge-to-edge

    В Android Q была добавлена новая система навигация жестами. Это новинка позволяет приложениям отображаться от края до края вашего экрана! В статье разбирается все особенности новой фичи и адаптации вашего приложения к ней.
  • Android Broadcast

  • Android Broadcast

    #AppBundle #ManifestMerger

    Hunting a bug — A True App Bundle Debugging Story

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

    В статье рассказывается как при использование App Bundle разработчик столкнулся с непонятным багом и каким путем прошел, чтобы найти проблему с объединением AndroidManifest. Я сам сталкивался с такими же проблемами, так как не всегда ошибки, не позволяющие вашему приложению нормально работать, приводят к ошибки во время сборки.
  • Android Broadcast

    Переключение языка в Android-приложении

    Как часто к вам приходит заказчик со своим видением как должно работать приложение в Android? Например, как должен меняться в нем язык (и плевать что этот функционал заложен в системе).

    В статье вы найдете руководство как реализовать такую фичу и чтобы форматирование данных и разметка у вас были соответствующими.
  • Android Broadcast

    #RecyclerView #DiffUtil #UnderTheHood

    Разоблачаем магию DiffUtil

    RecyclerView - компонент который есть в любом приложение. Он имеет возможность с помощью анимации показывать изменения данных в нем. Делается это довольно непросто, поэтому Google дала нам DiffUtil - утилита, которая за нас вычисляет разницу и анимирует список.

    Для тех кто хочет понять как работает эта магия (а называется она алгоритм Майерса) ты вы можете узнать это от ребят из Redmadrobot. Объясняют довольно доступно и с красивыми иллюстрациями.
  • Android Broadcast

    #Kotlin #Dagger #BestPractices #DependencyInjection

    Dagger in Kotlin: Gotchas and Optimizations

    Dagger на сегодня является самым популярным DI для Android. Почему так? Он богат возможностями, не использует рефлексию и проверят ваш граф во время компиляции.

    Для всех любителей Kotlin использование Dagger порой является неудобным и трудным в силу того, что эта библиотека изначально разрабатывалась для Java и до сих пор на официальном сайте нет полноценного руководства как ее лучше использовать с Kotlin.

    Команда Android решила исправит это и дать ряд рекомендаций:
    👉 Всегда используйте последнюю версию Dagger (сейчас это 2.24)
    👉 Включите инкрементальную компиляцию Dagger в kapt
    👉 При выполнение inject зависимости в непубличное свойство класса, задавайте квалификатор на поле
    👉 Dagger работает эффективнее если зависимости в @Module предоставляются через статические методы. Используйте object для объявления @Module и добавляйте аннотацию @JvmStatic к каждому методу @Provides.
    👉 Работа с generic в Kotlin и Java отличается, поэтому при inject зависимостей с generic вам будет полезна аннотация @JvmSuppressWildcards
    👉 Будьте осторожны с использованием single line function, так как Dagger при построение графа опирается на возвращаемый тип. Указывайте явно возвращаемый тип всегда или используйте функции с телом.
  • Android Broadcast

    #Kotlin #Conference #Minsk

    7 сентября пройдет крутейшее событие в Беларуси по Kotlin - Kotlin/Everywhere Minsk. Вас ожидают известные спикеры из-за рубежа и нашей страны и классный материал по использованию Kotlin!

    В списке спикеров уже подтверждены:
    👉 Мarcin Moskala@KtAcademy
    👉 Ильмир Усманов@JetBrains
    👉 Marharyta Nedzelska@WIX, Kiev Kotlin User Group Lead
    👉 Леонид Старцев@JetBrains
    👉 Олег Семен@Lviv Kotlin User Group Lead
    👉 Nicolas Fränkel@Exoscale

    Регистрация уже открыта. Спешите пройти по ссылке
  • Android Broadcast

    #GooglePlay #InAppUpdates

    How Pandao Uses the In-App Updates Flexible Flow to Speed up the App Update Process on Android

    Не так давно Google дала всем разработчикам доступ к In-App Updates, которая позволяет обновлять приложение изнутри. Разработчики из Pandao делятся тем как интегрировать работу с библиотекой и какой эффект ее применения.
  • Android Broadcast

    #Kotlin #Sequence

    Collections and sequences in Kotlin

    Kotlin имеет множество операторов для обработки коллекций, которые выполняются сразу же и создаются новые коллекции. Альтернативой ему служит Sequence API, которое реализует lazy API для обработки коллекций. В статье рассматриваются различия между этими подходами.
  • Android Broadcast

    #MVVM #AppArchitecture #ArchitectureComponents

    Android MVVM — Do’s and Don’ts

    Несколько рекомендаций при реализации архитектуры MVVM на основе Architecture Components:
    👉 ViewModel не должна использовать классы из Android SDK. Используйте интерфейсы, которые позволят вам абстрагироваться от платформенной реализации.
    👉 View не должна содержать какой либо логики (быть пассивной). Место для всей логики - это ViewModel.
    👉 ViewModel не должна иметь ссылки на View
    👉 Если вы хотите получать обновления данных от LiveData для обновления UI, тогда используйте viewLifecycleOwner.
  • Реклама

  • Android Broadcast

    #RxJava

    RxBinding 3.0

    Как бы не штормило Jake Wharton новый мажорный релиза RxBinding вышел, что несомненно порадует всех любителей Rx. В версии 3.0 произошли следующие изменения:
    🎉 Библиотека переписана на Kotlin
    🎉 Миграция на AndroidX
    👉 Удалены все deprecated методы
    👉 Отказ от использования AutoValue в пользу Kotlin data классов
  • Android Broadcast

    #Dagger

    Вышел Dagger 2.24

    Вышла новая версия Dagger 2, которая не привнесла ничего значимого:
    👉 Удалено устаревшее API из dagger.android Has{Activity,Fragment,Service,ContentProvider,BroadcastReceiver}
    👉 Инкрементальный процессинг аннотаций теперь включён по умолчанию
    👉 Исправление багов
  • Android Broadcast

    #News

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

    В связи с этим до следующей недели новостей не ждите.