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

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

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

  • Android Broadcast

    #Coroutines #ArchitectureComponents #AndroidX

    Coroutines with Architecture components

    На прошедшем Google I/O рассказали о том, что Kotlin Coroutines - это рекомендуемое решение для асинхронного программирования на Android. В рамках этого рассказали о многих существующих библиотеках в рамках AndroidX, которые уже имеют поддержку Coroutines и о новых версиях библиотек из Architecture Components.

    В статье рассматривается интеграция Coroutine с LiveData, ViewModel и Lifecycle, которая уже доступны в первой альфа версии Architecture Components 2.2.0
  • Android Broadcast

    #RxJava

    RxJava Observable to Single

    RxJava позволяет между собой конвертировать свои различные типы из одного в другой. Только не всегда это можно сделать без проблем, так как к пример Observable может не вызвать onNext() ни разу в случае когда поток пустой, а вот Single гарантирует что один элемент будет эмитирован либо произойдет ошибка.

    Если попытаться конвертировать пустой Observable в Single, то в результате вас ждет креш из-за отсутствия данных в Observable.

    Как уследить за такими случаями и как их обрабатывать, вы можете узнать из статьи
  • Android Broadcast

    #Fresco #Facebook #Image #ProgressiveJPEG

    Fresco — Android Image Library

    Во современной разработке можно найти множество библиотек, которые решают задачи по загрузке картинок их кэшированию и эффективному отображению. Я уверен, что у всех на слуху, а то и в проекте, одна из библиотек Glide, Picasso и Universal Image Loader (UIL).

    Есть решение, которое выделяется из этого списка - Fresco от Facebook. Ее ключевое отличие, что часть обработки изображений и кэширования написана на C/C++ и соответственно на нее не накладываются ограничения JVM. Это позволяет вашему приложению переживать больше OutOfMemory и работать быстрее.

    Одной из крутых фичей библиотеки является поддержка Progressive JPEG изображений - отображение картинки постепенно при ее загрузке.

    В статье вы найдете краткую вводную информацию, но а всех тех кто заинтересовался - больше подробностей в документации Facebook Fresco
  • Реклама

  • Android Broadcast

    #Dagger #DependencyInjection

    Dagger 2.23 Release

    Вышел Dagger 2.23. Релиз был направлен на исправление багов, улучшение скорости работы и причесывание API:
    👉 Генерируемый код по умолчанию теперь не форматируется. Это позволяет ускорить кодогенерацию. Форматирование стоит включать в релизном билде
    👉 Общее улучшение скорости сборки
    👉 Генерируемый компонент теперь объявляются public в случае если компонент в вашем коде объявлен как public
    👉 Более строгая валидация @BindsInstance
  • Android Broadcast

    #CodeQuality

    Gradle static analysis plugin

    Чтобы качественно анализировать код вашего проекта надо подключать множество различных утилит. Плагин Gradle static analysis облегчает вашу работу, предоставляя простую настройку множества плагинов, которая включает в себя следующие утилиты:
    👉 Checkstyle
    👉 PMD
    👉 FindBugs
    👉 Detekt
    👉 KtLint
    👉 Android Lint

    В процесс работы находятся:
    👉 Spotbugs
    👉 CPD
    👉 Error Prone
    👉 Jetbrains IDEA Inspections

    Высокого качества кода вашему коду
  • Android Broadcast

    #Kotlin

    Kotlin: Don’t just use LET for null check

    Kotlin - язык с богатыми возможностями, который позволяет значительно упрощать различные рутинные операции из Java. Главное надо помнить о правиле Человека-Паука - любую фичу можно обернуть против себя и использовать ее неэффективно.

    Как правильно проверить переменную на null if (variable != null) { /*Do something*/ } или variable?.let { /*Do something*/ } ?

    Больше подробностей когда использовать let и когда нет читайте в статье
  • Android Broadcast

    #JetpackCompose

    Android Jetpack Compose Review

    Вы верите в Jetpack Compose? Пока он очень сырой и совсем не готов к использованию, но создал много шума. Можете изучить больше подробностей о будущем разработки UI на Android в статье
  • Android Broadcast

    #Architecture #CleanArchitecture #ArchitectureComponents

    How to implement a Clean Architecture on Android

    "Повторение мать учения" - так можно сказать об этой статье, в которой рассказывается о Clean Architecture на примере Android приложения и рассказывает об обязанностях каждого из слоев и осуществление коммуникации между ними
  • Android Broadcast

    #Gradle #Optimizations

    Советы по оптимизации Gradle в Android проектах. Ревизия 2019 года

    Советы по следам Google I/O 2019:
    👉В многомодульных проектах предпочитайте Java/Kotlin модули вместо Android модулей. Они собираются быстрее и лучше работает инкрементальная сборка
    👉Применяйте только необходимые плагины
    👉Избегайте непонятных плагинов
    👉Мигрируйте на Kotlin 1.3.30 и включайте инкрементальный kapt
    👉Запускайте Android Lint только на App модулях
    👉Правильно настраивайте зависимости (api и implementation)
    👉Описывайте версии зависимостей в одном месте в проекте
    👉Используйте папку buildSrc для описания зависимостей
    👉Кастомные плагины позволят сократить размер gradle файлов в проекте и ускорить сборку
    👉Применяйте последние возможности Gradle API, например Lazy конфигурацию для тасков
    👉Используйте Gradle Worker API
    👉Создавайте таски кастомных типов
    👉Не делайте длительных операций во время фазы конфигурации
    👉Измеряйте скорость вашей сборки, чтобы искать узкие места. В этом вам помогут Build Scans, Gradle Profiler, Talaoit
  • Android Broadcast

    #Gradle #Performance

    Порой приходится иметь доступ к Android API в Java/Kotlin коде, и отказывать от чистого Java/Kotlin модулей в пользу Android Library проектов.

    Есть способ более простой использовать Android API и не уходить от Java/Kotlin модуля - используйте AndroidJar Gradle плагин. Также можно подключить aar с помощью aar2jar Gradle плагина.
  • Android Broadcast

    #Dagger #ViewModel

    Android. Less Dagger boilerplate code for ViewModel creation

    Те кто писал Factory для ViewModel, у которой есть зависимости из графа и соединить весь Inject с Dagger 2, эти люди знают насколько там много boilerplate кода и как этот процесс неприятен.

    Для тех кто не знает - посмотрите статью выше и поймите. В ней вы найдете рецепт как соединить Dagger и создание . ViewModel.

    Cпойлер: сейчас в EPAM мы работает над библиотекой, которая будет генерировать весь этот код за вас
  • Android Broadcast

    ​#Course Android Architecture Masterclass video course Курс по архитектуре Android приложений, написанию чистого кода и разработке поддерживаемых приложений. Курс стоит $12. Курс состоит из следующих частей: 1️⃣ MVx архитектурные паттерны 2️⃣ MVx в Android…
  • Android Broadcast

    #MobilePeopleTalks #Podcast

    Mobile People Talks #5 - Android Q по следам Google I/O 19

    Записали новый выпуск подкаста (технический). Мы немного обсудили прошедший Google IO (Саша Денисов рассказал нам о своих впечатлениях от палящего солнца), Pixel 3a, но основная часть подкаста была посвящена рассказе об Android Q от Кирилла Розова.
  • Android Broadcast

    #DependencyInjection #Kotlin

    Koin 2.0 Release

    Состоялся релиз Koin 2.0 - просто и чистого решения на Kotlin для dependency injection.

    Лично для меня Koin - прекрасный выбор, так как он решает самые распространенные задачи DI в Android и еще больше наслаждаться Kotlin в проекте. Для Java также есть поддержка.

    В новой версии произошли следующие изменения:
    🎉Значительно улучшена скорость работы, что решило ее проблемы на слабых устройствах
    🎉Новый DSL для инициализации

    Поддержка многомодульных проектов
    🎉Доступна загрузка/выгрузки модулей после инициализации
    🎉 Объявление зависимостей на лету

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

    #AndroidQ #GestureNavigation

    Gesture Navigation – Edge Cases

    В AndroidQ была представлена стандартные жесты для навигация (аля iOS). В статье обозревается новое API View.setSystemGestureExclusionRects(List<Rect>), которое позволяет сообщать системе в каком регионе View, нельзя распознавать жесты как системные.
  • Реклама

  • Android Broadcast

    Классный стенд у GDG СПб на Mobius! Тут куча мини докладов, розыгрыш призов, а ещё я насыпал наклеек от канала.
  • Android Broadcast

    #Coroutines #CoroutinesOnAndroid

    Coroutines On Android (part III): Real work

    Продолжение серии статей об использование Kotlin Coroutines в Android. В этой части разбираются вопросы реального использования на примере задачи отображения отсортированного списка данных из БД с использование Room.
  • Android Broadcast

    #Kotlin #Contest

    Kotlin Heroes Coding Contest

    Хотите проверить свои навыки Kotlin программиста? JetBrains организовали соревнование по Kotlin, в рамках которого вам надо будет выполнить серию заданий.

    Соревнование состоится 28 мая 2019 14:35 - 17:05 UTC
    Сейчас можно пройти тренировку и посмотреть что вас ожидает