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

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

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

  • Android Broadcast

    #Kotlin #Coroutines #Arhitecture

    Lessons learnt using Coroutines Flow in the Android Dev Summit 2019 app

    "Kotlin First" - лозунг современной Android разработки. В этом случае нельзя не использовать Kotlin Coroutines, чтобы максимально стремиться к этому принципу и получить все преимущества языка.

    Авторы приложения для Android Dev Summit 2019 о том, как изменился их взгляд с появлением Flow в разработки Domain (UseCase) и Model (Repository, Data Source) слоев.

    Обновление подхода просто. Если раньше ваш слой модели мог возвращать LiveData (например за наблюдением обновление обновление в Room), то теперь все это переходит во Flow и превращается в LiveData только в ViewModel. Если вам не нужно наблюдать за изменениями - используйте обычные suspend функции.

    В статье также рассказывается как перейти со старых подходов на Flow и как применять его в новом API. Ну и как же без освещения тестирования!
  • Android Broadcast

    #Kotlin #Parcel

    A study of the Parcelize feature from Kotlin Android Extensions

    В Kotlin 1.3.40 Parcelize стало стабильным, но только с версии 1.3.60 Android Studio перестало жаловаться, на его нестабильный статус, поэтому как никогда стоит напомнить, что есть способ сохранять ваши данные с использованием Parcel.

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

    #Dagger

    Dagger Party Tricks: Refactoring

    Dagger не прост, совсем не прост. Поэтому постигать его дзен можно всю свою карьеру разработчика, если она не закончится раньше чем вы сможете освоить полностью все. В статье вы найдете немного Dagger дзена.
  • Реклама

  • Android Broadcast

    #CodeQuality #Kotlin

    Вышел Detekt 1.2.0

    В новой версии появились следующие улучшения:
    👉 Улучшен HTML отчет
    👉 Поддержка отключения правил по группам
    👉 Поддержка параллельной фаз компиляции и анализа
    👉 Исправление работы правил
    👉 Улучшение определение текста во множестве правил
  • Android Broadcast

    #AndroidBroadcastBreakfest #Minsk #Meetup

    Всем привет! Общение - это то, что позволяет нам эффективнее делиться знаниями и понимать друг друга. Намного эффективнее что-то обсудить голосом, чтобы найти эффективное решение или вдохновиться мыслью.

    В эту субботу (30 ноября) в 11.00 в Минске я предлагаю встретиться всем желающим в кофейне GrayHouse (пр. Дзержинского, 11, метро "Грушевка"). Формат проведения встречи - свободное общение.

    Тема встречи - Dependency Injection:
    👉 Настолько ли важная роль DI? Есть ли жизнь без?
    👉 Как заставить Dagger стать удобным инструментом, а не причинять кучу боли
    👉 Koin и Kodein - есть ли жизнь с ними в больших проектах
    👉 Отказ от библиотек для DI и решение доставки зависимостей самостоятельно

    Задавайте свои вопросы, слушайте разговоры, любое ваше участие важно и позволит вам улучшить свои знания!

    Есть вопросы или другие вопросы для обсуждения - предлагайте их в @android_broadcast_discussions
  • Android Broadcast

    #Podcast

    Android Dev Podcast перешел в английскую версию.Новый подкаст - это не дубляж уже существующего, а возможности приглашение новых гостей.

    Например, совсем недавно появился выпуск в котором Денис Неклюдов взял интервью у основателя и CEO Gradle Hans Dockter. В рамках Android Dev Summit ребята сделали обзор новостей с Florina Muntenescu, Android Developer Advocate в Google.
  • Android Broadcast

    #JetpackWeekly #Benchmark #ViewPager2

    Jetpack Weekly #12
    🔥 Benchmark теперь стабильна. Начинайте измерять производительность вашего кода правильно!
    🔥 ViewPager мертв. Да здравствует ViewPager2, который базируется на RecyclerView!
    👉 RecyclerView 1.1.0
    👉 Exifinterface 1.1.0
    🛠️ Room 2.2.2 с исправлениями багов
  • Android Broadcast

    #Gradle #AndroidGradlePlugin

    Simple Guide to Android Product Flavors

    Разбор в подробностях различных сборок приложения и как этот механизм реализован в Android Gradle Plugin c помощью Product Flavor и Build Type.
  • Android Broadcast

    #Room #SQLite

    Database relations with Room

    Статья о поддержки отношений между сущностями в SQLite с помощью аннотации @Relation в Room:
    👉 1 - 1
    👉 1 - N
    👉 M - N

    Плюс аннотации @Relation над полем, в том, что связанные сущности из другой таблицы будут запрашиваться автоматически.
  • Android Broadcast

    #Security

    How to enable logging on any released Android app

    Убираете ли вы логирование кода из релизного билда? Именно убираете а не отключаете. Когда в вашем коде остается возможность включить логи - это потенциальная дыра в безопасности и она подробно разбирается в статье.


    Чтобы удалить логирование с помощью Logcat вы можете воспользоваться R8/ProGuard для удаления кода:
    -assumenosideeffects class android.util.Log {
    public static *** d(...);
    public static *** v(...);
    public static *** i(...);
    public static *** w(...);
    public static *** e(...);
    }
  • Android Broadcast

  • Android Broadcast

    #Calendar

    Android Calendar Intent

    Подробная инструкция того как работать с системным календарем в Android:
    👉 Создать событие
    👉 Открыть календарь на необходимой дате или событие
    👉 Доступ к деталям события по id

    Все описано очень хорошо и подробно!
  • Android Broadcast

    #WorkManager

    Unifying Background Task Scheduling on Android

    Google проводит унификацию своих библиотек для выполнения задач в фоновом режиме. Суть проста - все мигрируем на WorkManager.

    Если кто-то пользуется FirebaseJobDispatcher (FJD) или GCMNetworkManager (GCM), то вам пора браться за гайды по миграции: для FJD и для GCM. Поддержка FJD будет закрыта в апреле 2020, GCM - ноябрь 2020.

    Если вы обновите targetSdk вашего приложения до Android 10 (API level 29), то FJD и GCM перестанут работать на Android 6.0+
  • Android Broadcast

    #Kotlin

    Type-safe time calculations using Duration

    В Kotlin 1.3.50 был добавлен новый класс Duration (в статусе experimental), цель которого избавиться от вечного использования long в качестве продолжительности и дать полноценные возможности и более строгие проверки в compile time для типов.

    Duration - это inline класс и его влияние на производительность минимально.
  • Android Broadcast

    #AndroidDevSummit

    Итоги Android Dev Summit 2019

    Я давно обещал сделать подведение итогов Android Dev Summit 2019. Прошёл уже месяц, но в итоге я это сделал! Просмотрел много статей, видео и перечитал статьи. Видео содержит мое личное мнение по поводу множества новинок. Буду рад услышать и ваше в @android_broadcast_discussions
    Итоги Android Dev Summit 2019

    Подведение итогов Android Dev Summit, прошедшего 22-23 октября. Высказываю свое мнение о новинках, будущем Android в пост Jetpack Compose эре, Android Studio...

    YouTube
  • Реклама

  • Android Broadcast

    #Testings

    Pixel perfect UI: How to automatize automation testing on Android

    Краткий рассказ о подходе к тестированию вашего UI по скриншотам для проверки что при изменении кода или ресурсов в одних местах у вас не едет код в других.
  • Android Broadcast

    #Kotlin

    Вышел Kotlin 1.3.60 и будущие изменения в Kotlin 1.4

    В новой стабильной версии языка вас ждут следующие улучшения:
    👉 Улучшение работы Inline классов
    👉 Более подробные сообщения об ошибках
    👉 IDEA: Улучшена поддержка Scratch файлов
    👉 IDEA: Улучшена поддержка Gradle Kotlin DSL
    👉 IDEA: Улучшение дебага
    👉 IDEA: Улучшение автодополнения
    👉 IDEA: Новый конвертер из Java в Kotlin

    Также стало известно, что Kotlin 1.4 выйдет когда-то в 2020😁, но уже сейчас можно попробовать функции из новой версии, которые уже готовы:
    👉 NPE assertions: теперь выбрасывается NullPointerException вместо IllegalStateException, в случае когда вы сталкиваетесь с null из Java кода в Kotlin, там где это не ожидается
    👉 Break & continue внутри when
    👉 Улучшения в tail-recursive функциях
    👉 Запрет на использование open tailrec функций
  • Android Broadcast

    #Animation

    Easy Reveal Android Library

    Библиотека, которая упростит вам создание анимации Reveal в разных ее проявлениях: круговой, волна, звезда и пр.