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

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

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

  • Android Broadcast

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

    Также вы сможете выиграть призы:
    🔥 3 билета на KotlinConf 2020
    🔥 20 маек с символикой Kotlin
  • Android Broadcast

    #Analytics #Firebase

    Google Analytics vs. Firebase Analytics vs. Google Analytics

    У Google слишком много аналитик:
    👉 Google Analytics Classic
    👉 Google Analytics for Mobile (deprecated)
    👉 Google Analytics 360
    👉 Firebase Analytics
    👉 Google Analytics for Firebase

    В чем разница? Зачем постоянные обновления в названиях? Что из этого стоит использовать в современных Android приложениях? Ответы в статье
  • Android Broadcast

    #Gradle #AnnotationProcessing #Performance

    Инкрементальный annotation processing для ускорения gradle-сборок

    Практически всем в Android разработке приходится сталкиваться с процессингом аннотаций, а в частности kapt. Чтобы этот процесс происходил быстрее нужно выполнение инкрементальной компиляции, т.е. компилировать только необходимый код, а не весь полностью. Эти возможности появились в Gradle 4.7 и Kotlin 1.3.30.

    В статье рассматривается теория и эффект от применения этих нововведений подробно:
    👉 Как работает инкрементальная компиляция
    👉 Инкрементальный annotation processing
    👉 Категории процессоров аннотаций
    👉 Опыт внедрения incremental annotation processing в hh.ru
    👉 Профайлинг инкрементальных сборок
    👉 Результаты бенчмарков
    👉 Анатомия сборки в Gradle Build Scan
    👉 Incremental vs parallel
  • Реклама

  • Android Broadcast

    #Java #Java14

    Java 14: записи (records preview)

    Android разработка уже переехала на рельсы Kotlin (своей основной массой), но под капотом все равно старая добрая Java и про нее забывать не стоит.

    В статье разбирается новая возможность в Java 14 records, которая направлена на упрощение синтаксиса языка. Фактически record - это аналоги data класса из Kotlin.
  • Android Broadcast

    Mobiconf 2019 | Ahmed Kamal "At the heart of innovation. Design thinking, applied"

    Ahmed Kamal speaking at Mobiconf 2019 conference in Krakow, Poland, October 3rd-4th At the heart of innovation. Design Thinking, Applied During the interacti...

    YouTube
  • Android Broadcast

    #Coroutines

    DispatcherProvider

    Использовать Dispatchers для получения стандартных CoroutineDispatcher напрямую - не самая лучшая практика, так как у вас не будет возможности легко изменить их. Например, это может быть полезно при рефакторинге или написание Unit тестов (мы же все стараемся их писать 😁), когда все выполнение должно происходить синхронно.

    Для решения этой задачи обычно рекомендуется использовать свой собственный интерфейс или класс DispatcherProvider (название может отличаться), который содержит ссылки на стандартные CoroutineDispatcher с разницей, что он не является Singletone и доставляется с помощью DI (не всегда) в те места где требуется получение CoroutineDispatcher.

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

    #ArchitectureComponent #Navigation #BottomNavigation

    Beginner’s Guide to Bottom Navigation with Android Jetpack — Part 1

    Jetpack Navigation - это решение, предложенное разработчиками из Google для решения сложностей навигации. Самое важное, что Jetpack Navigation это не только API, но и визуальный редактор, а также Safe Args плагин для Gradle, который упрощает передачу аргументов и делает ее безопасной.

    В статье разбирается интеграция Jetpack Navigation с Bottom Navigation из Material
  • Android Broadcast

    #ArchitectureComponent

    Beginner’s Guide to Bottom Navigation with Android Jetpack — Part 2

    Во второй части разбирается:
    👉 реализация меню для каждого из Fragment с Bottom Navigation
    👉 навигация в глубину и скрытие/показ Bottom Navigation
    👉 двойной back для выхода из приложения
  • Android Broadcast

    #RecyclerView

    Zoom Recyler Layout

    Куда не заводит только фантазия дизайнеров, чтобы сделать UI приложения красивым и неповторимым. Библиотека "Zoom Recyler Layout" может сделать переключение между элементами списка красивым.

    Поддерживается обе ориентации
  • Android Broadcast

    #TrustedWeb

    Introducing android-browser-helper, a library for building Trusted Web Activities

    Google представила первую стабильную версию библиотеки Android Browser Helper, цель которой облегчить работу с Trusted Web Activity (TWA). Все это делается уже поверх существующих библиотек из AndroidX.

    Руководство по миграции с Chrome Custom Tab на Android Browser Helper
  • Android Broadcast

    #SQLite #Room

    SQLite Triggers (+ Android Room)

    SQLite - самая популярная БД в мобильных ОС. Почему? Немалую роль сыграло в этом ее встраивание в мобильные ОС и схожесть синтаксиса запросов с SQL. В Android вы также могли слышать о библиотеке Room, которая является ORM для SQLite и значительно упрощает работу с получением данных, а также получением их обновлений через LiveData, RxJava Observable или Coroutines Flow.

    В статье автор разбирается в механизме SQLite Trigger и как оповещается об обновление данных в Room.
  • Android Broadcast

    Android Broadcast призывает на помощь

    Всем привет! Меня зовут Кирилл Розов. Я автор канала "Android Broadcast". Канал заметно вырос с момента своего появления. Проект идет дальше и о Android Broadcast нельзя сказать только в рамках Telegram канала. Сейчас вы уже можете найти видео на YouTube канале и подкасты на SoundCloud, Apple Podcasts, YouTube и др. площадках

    За всем этим контентом стоят часы подготовки и часы постобработки. Хочется развиваться активнее и делать больше интересного материала, но в силу того что проект некоммерческий, я не могу уделять ему все свое время. Поэтому хочу обратиться к вам по трём поводам:

    1️⃣ Присоединяйтесь к команде Android Broadcast!
    Работе в проекте много и пригодятся все ваши навыки, как технические, так и нет. Задач много и разных: графический дизайн, помочь с сайтом. управлением контентом, постобработка записей подкастов. продвижение и др.

    Если у вас есть желание помочь, то обязательно пишите

    2️⃣ Подписаться на Android Broadcast
    Просьба довольна стандартная, но очень важная для создателей контента, так как это позволяет привлекать больше внимание аудитории вне подписчиков и пиарить проект активнее. Подписывайтесь:
    👉 Android Broadcast YouTube канал
    👉 Android Broadcast Twitter
    👉 Персональный Twitter Кирилла Розова
    👉 SoundCloud
    👉 Google Podcast
    👉 Apple Podcasts

    3️⃣ Помочь Android Broadcast материально
    Проект «Android Broadcast» некоммерческий и все затраты кладутся на мои плечи. Расходы растут с появлением нового контента: подписки на сервисы, оборудование, продвижение и пр. Если вы хотите помочь Android Broadcast, то это можно сделать через Patreon.

    Присоединяйтесь и давайте развивать проект для сообщества вместе!

    С большим уважением ко всем читателям и благодарность за поддержку, автор "Android Broadcast"
    Кирилл Розов
  • Android Broadcast

    #Новости

    Android Broadcast - это уже не только Telegram канал, но и подкаст. Вы можете найти все выпуски (их пока 4) на множестве площадок. Уже 2 записанных подкаста и находятся на стадии постобработки. Подписывайтесь, что узнать о них первым:
    👉 SoundCloud
    👉 Google Podcasts
    👉 Pocket Casts
    👉 Castbox
    👉 Apple Podcasts
    👉 Spotify
    👉 Яндекс Музыка
    👉 YouTube
  • Android Broadcast

    #Kotlin #typealias

    Alter type with typealias

    Typealias - это возможность языка Kotlin, которая позволяет вам избавиться от написания длинного типа, например

    typealias StringPredicate = (String, String) -> Boolean

    Особенность в том, что при компиляции typealias будет заменяться на исходный тип, не создавай ничего дополнительного

    Также typealias нашел хорошее применение в Kotlin Multiplatform, где позволяет писать actual типы ссылаясь на уже существующие.

    expect annotation class Test
    actual typealias Test = org.junit.Test

    Единственное, что надо понимать, что если вы увлечетесь и начнете заменять все подряд на typealias, то ваш код может стать сложнее для понимания других разработчиков. Поэтому правила Человека-Паука все еще в силе 😁!

    Больше в статье и официальной документации
  • Android Broadcast

    #Binder #IPC

    Android Binder Framework

    Android Binder - это особенный вид Inter-Process Communication (IPC), разработанная с учетом особенностей мобильных устройств и адаптированная специально под Android.

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

  • Android Broadcast

    #Architecture #Coroutines #FLow

    Store grand re-opening: loading Android data with coroutines

    Android разработчики из New York Times решили закрыть проблем в рекомендуемой архитектуре от Google для Android приложение - Repository. Результатом чего стала библиотека Store 4.0.

    В версии 4.0 библиотека также мигрировал с Java и RxJava на Kotlin и Coroutines + Flow.
  • Android Broadcast

    #Gradle

    Вышел Gradle 6.1

    Новая версия системы сборки не привнесла столь много изменений как предыдущая, но сможет вас порадовать:
    👉 Возможность изменения расположения кэша зависимостей
    👉 Возможность задания порядка компиляции между Java, Groovy, Scala
    👉 Загружаемые Gradle примеры
    👉 Новые возможности для разработчиков Gradle плагинов
    👉 Tooling API теперь имеет TestLauncher, которые позволяет выполнять отдельные тесты (класс или метод)

    Обновиться
    ./gradlew wrapper --gradle-version=6.1
  • Android Broadcast

    #UI

    Translucent SystemBars the right way — across API levels and themes

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

    Неотъемлемой частью такого дизайна является работа с системными панелями и задание их прозрачности и цветов. В статье разбирается как это сделать с учетом особенностей Android 5.X, Android 6.0+ и Android 8.0+