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

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

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

  • Android Broadcast

    #AndroidDevSummit #AndroidStudio #MotionLayout #JetpackCompose

    Прошел Keynote Android Dev Summit 2019. Быстро пройдемся по анонсам:
    👉 Android Studio 4.0 Canary 1
    👉 Jetpack Compose можно использовать из Android Studio (AS)
    👉 Для Jetpack Compose теперь работает предпросмотр (правда нужно компилить код)
    👉 Визуальный редактор для анимаций на основе MotionLayout уже можно использовать из новой AS
    👉 Поддержка Gradle Kotlin Script в AS
    👉 CameraX уже в Beta
    👉 Большой обновление библиотек из Jetpack
    👉 Сертификация "Associate Android Developer: Kotlin"

    Ставлю что стабильный релиз AS 4.0 будет в апреле-мае следующего года, без стабильного Jetpack Compose

    Будет больше новостей в ближайшие дни и обзоры обновлений!
  • Android Broadcast

    Android Dev Summit 2019 Livestream | Day 1

    Join us for day one of the Android Dev Summit 2019! Tune in for deep technical sessions with the Android engineering team. Check out all the sessions that wi...

    YouTube
  • Android Broadcast

    #DependencyInjection #Dagger

    Вышел Dagger 2.25

    Вышла новая версия популярного DI фреймворка. В новой версии не произошло значимых изменений были сделаны следующие улучшения:
    👉 Поддержка Kotlin: для модулей, которые являются object, больше не надо помечать каждый метод как @JvmStatic и квалификаторы теперь можно добавлять аннотациями на property
    👉 Исправление багов
    👉 Улучшение производительности

    Посмотрел историю последних релизов. Dagger уже давно не показывал новых фич и задумался: "Dagger уже стал идеальным либо иссякли идеи у создателей?"
  • Реклама

  • Android Broadcast

    #Security #SharedPreference

    Encrypted Preferences in Android

    androidx.security в активной разработке, частью которая являются возможность использования зашифрованных SharedPreference. В статье разбирается как работать с EncryptedSharedPreferences и сравнивается производительность с обычными настройками.
  • Android Broadcast

    #IntelijIDEA #Gradle #Maven

    Introducing Package Search EAP

    Каким образом вы ищете библиотеки для решения задач в ваших приложения? Для меня пути 3:
    👉 Google (90%)
    👉 официальные гайды (5%)
    👉 рекомендации от знакомых или из докладов (5%)

    Использование поисковиков может порой занять больше времени, чем ожидалось, но и самые простые сценарии поиска занимают время на добавление библиотеки.

    Чтобы решить эту проблему JetBrains выпустили плагин для IntelijIDEA - Package Search. Он позволяет находить библиотеки и ключевые ссылки к ним: исходный код, обсуждения на StackOverflow и др.

    Также есть функционал для автодополнения при добавление зависимостей в Gradle и Maven, а для любителей Kotlin плагин подскажет какую минимальную версию языка требует библиотека и какие платформы поддерживаются, если библиотека мультиплатформенная.

    Уже запланировано множество нового функционала на будущим релизы.
  • Android Broadcast

    #FBReader

    Пишем читалку электронных книг на Android с помощью FBReader SDK

    EPUB, FB2 и MOBI - это самые популярные форматы для распространения электронных книг. Для решения задачи интеграции отображения таких файлов можно воспользоваться FBReader SDK.

    Библиотека имеет множество возможностей:
    👉 Открытие множество файлов электронных книг
    👉 Чтение метаданных из файла книги
    👉 Особенности движка FBReader
    👉 Возможность менять стиль текста книги и яркость
    👉 Выделение текста
    👉 Закладки
    👉 Поиск по тексту
    👉 Оглавление
    👉 Дополнительная навигация по тексту
    👉 Поддержка сносок и гиперссылок

    Библиотека платная. В бесплатном режиме можно отображать только несколько первых страниц. Подробнее о ценах.
  • Android Broadcast

    #Dagger #Multibindings

    Dagger 2 Multibindings Illustrated

    Dagger 2 имеет множество возможностей, хотя множество разработчиков используют его по простому сценарию: "1 модуль. 1 компонент. @Inject. AppComponent.inject(...)". Но в Dagger есть много интересного функционала. Например, Multibinding, который позволяет вам объединять зависимости одного типа из разных модулей и компонентов в Set или Map.

    Когда это может пригодиться? Когда у вас есть обработчики для создания элементов по типу элементов. Это эффективно можно применить для выполнения доставки зависимостей в конструктор Fragment (поддерживается в androidx.fragment 1.1.0):
    1. Предоставляете способ создания Fragment в Dagger модуле
    2. Из Dagger вы можете получить Map<Class<Fragment>, Provider<Fragment>>

    Код получается гибким и хорошо расширяемым. А значит мы и улучшили нашу архитектуру

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

    #Automotive

    Android Automotive OS updates for developers

    Google развивает свою ОС для автомобилей - Android Automotive OS (не путайте с Android Auto).

    Отличие этих ОС в том, что Android Automotive встраивается в ваш автомобиль, имеет доступ к датчикам автомобиля и может работать независимо от внешнего устройства. Для работы Android Auto требуется подключение смартфона на Android и она выступает простой медиа системой и имеет доступ только к датчикам телефона.

    Google добавили возможность использовать эмулятор Android Automotive OS с магазинон Google Play. Уже сейчас вы можете запросить доступ к консоле Google Play для новой ОС от Google.
  • Android Broadcast

    #новости

    По семейным обстоятельствам я беру перерыв на ближайшие 2 недели. Что это значит? Частота новостей будет снижена и новости будут выходить реже.
  • Android Broadcast

    #Kotlin

    The problem with extension functions

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

    Что с этой прекрасной возможность языка может быть не так? Как с этим связано Kotlin DSL? В этом разбирается Мартин Москала
  • Android Broadcast

  • Android Broadcast

    #Performance

    Fighting Regressions with Benchmarks in CI

    Одна из новинок Android - библиотека Jetpack Benchmark, уже успела дойти до первой беты. Библиотека позволяет вам писать правильные тесты производительности. Библиотека отвечает за "разогрев" устройств для теста, определение проблем конфигурации и замер производительности вашего кода.

    В статье рассматривается как команда Jetpack тестируется производительности своих библиотек на CI и определяет регрессии в скорости их работы.
  • Android Broadcast

    #GestureNavigation #Android10

    Gesture Navigation: Handling gesture conflicts

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

    #Coroutines #Coroutines

    Making Android unidirectional data flow with Kotlin coroutines 🦄

    Разбор нового взгляда на архитектура от автора библиотеки Koin. Архитектура строится на основе Architecture Components и Kotlin Coroutines и основными компонентами в ней являются ViewModel, Actions & States.

    Новый взгляд вылился в фреймворк Uniflow, который еще находится в разработке.
  • Android Broadcast

    #Exception

    Обработка ошибок в Kotlin/Java: как правильно это делать?

    Ошибки - это то с чем мы постоянно сталкиваемся в наших программах. Они возникают по вине программиста либо по причинах среды выполнения: отсутсвие сети, ошибка в данных, отсутствие места на диски и др.

    Как с этим бороться? В статье вы найдете различные подходы:
    👉 try-catch
    👉 Sealed классы для представления успешного результата и ошибок
    👉 Функциональный тип программирования Either
    👉 Использовать Option
    👉 Nullable тип из Kotlin
    👉 Хардкодное значение как маркер ошибки (например -1 для метода, который возвращает int)
  • Реклама

  • Android Broadcast

    #NDK

    Introducing NDK r21

    Вышла новая версия Android NDK - 21. Пока только в Beta, но новая версия привнесла важные новости:
    👉 Первая версия с длительной поддержкой (LTS)
    👉 LTS релизы будут выходить каждый год
    👉 Отказ от поддержки Windows x32
    👉 Обновление GNU Make до 4.2
    👉 Обновление GDB до 8.3
    👉 Обновление LLVM до r365631 (master 10 Июля 2019)
    👉 Обновление libc++ до r369764
    👉 Fortify включается по умолчанию при использование ndk-build или CMake toolchain
    👉 ARM код теперь по умолчанию собирается с Neon по умолчанию. Это позволяют коду работать эффективнее

    Хотите узнать что будет дальше, то смотрите Roadmap
  • Android Broadcast

    #Kotlin #Coroutines

    How can we use CoroutineScopes in Kotlin?

    Structured Concurrency - это хороший подход, который был применён в Coroutine. Также он очень хорошо лег на Android, где есть компоненты с жизненным циклом, например Activity или Fragment.

    В статье подробно разбирается CoroutineScope:
    👉 Создание CoroutineScope
    👉 Принцип работы Coroutine в рамках CoroutineScope
    👉 CoroutineScope + Flow
    👉 CoroutineScope + Channel
    👉 Переключение CoroutineScope
  • Android Broadcast

    #Arhitecture #CleanArhitecture

    Why you need Use Cases/Interactors

    Разбор роли Use Case/Interactor в Clean Architecture:
    👉 Слои Clean Arhitecture
    👉 Почему Presenter/ViewModel не должны общаться с источниками данных напрямую
    👉 Бесполезный Use Case
    👉 Когда использовать Use Case