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

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

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

  • Android Broadcast

    #Network

    Вышел Retrofit 2.6.0

    Что нового:
    🎉 Поддержка корутин
    @GET("users/{id}")
    suspend fun user(@Path("id") long id): User

    👉 Новая аннотация @Tag, позволяющая задать tag для OkHttp Request. Это можно использовать чтобы идентифицировать запрос
    👉Новая аннотация @SkipCallbackExecutor, которая выполняет callback на том же executor, на котором происходит HTTP запрос
    👉Поддержка типов header-ок в @HeaderMap
    👉Исправление багов
  • Android Broadcast

    #AndroidQ

    Вышла Android Q Beta 4 и финальное API

    Вышла новая Beta Android Q в которой финализировали SDK и вы можете уже скачать 29 версию в Android Studio, а также Build Tools и Platform Tools. Также открыта публикация приложений с compileSdk и/или targetSdk 29. Дальше нас ждёт исправление багов в работе системы и SDK.

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

    #Coroutines #BestPractices

    Coroutining Android Apps

    Kotlin Coroutines - хайповый подход для реализации асинхронных задач, особенно если проект строится на Kotlin. Но любой новый подход надо стараться использовать правильно, чтобы получить максимальную пользу.

    В своем докладе я рассказал множестве советов, как использовать корутины с максимальной пользой, получив простой код.

    Слайды к докладу
  • Реклама

  • Android Broadcast

    #Architecture #LiveData

    How not to use sealed classes and LiveData for state management

    Разбор построения архитектуры на ViewModel + LiveData + State Object. State Object представляет собой Sealed класс, который содержит всю информацию о состоянии экрана.
  • Android Broadcast

  • Android Broadcast

    #GooglePlay

    Improved app quality and discovery on Google Play

    Google обновляет алгоритм ранжирования для приоритизации приложений и игр высокого качества и высокой производительностью. Не хотите спуститься в подвал Google Play? Готовьтесь к оптимизации вашего приложения. Есть 3 ключевых направления:
    👉 Хороший пользовательский опыт использования приложения
    👉 Стабильность и производительность
    👉 Эффективная страница приложения в Google Play
  • Android Broadcast

    #Kotlin #Coroutines #Flow

    Execution context of Kotlin Flows

    Flow к нам приходят и все больше деталей о их работе раскрывается. В статье Роман Елизаров рассматривает особенно выполнения Flow на разных CoroutineDispatcher и как правильно переключаться между ними.
  • Android Broadcast

    #Debug #Tooling

    Android debug tools

    Разбор различных инструментов для дебага Android приложений:
    👉 Android Profiler
    👉 Facebook Stetho - дебаг вашего приложения из браузера Chrome
    👉 DebugDrawer - боковая панель, которая позволяет конфигурировать вам различные состояния вашего приложения и просматривать статистику приложения: FPS, состояние кэша и пр.
    👉 AppSpector - сервис для дебага Android и iOS . приложений, который позволяет вам выполнять все удаленно в реальном времени. Тулинг платный, с 14 днями триала 😔
  • Android Broadcast

    #Firebase #AndroidX #GooglePlayServices

    Google Play services and Firebase migrating to AndroidX

    Google Play Services и Firebase мигрируют свое SDK на AndroidX. Спустя год после анонса Android. Ох, скоро заживем что не придется включать Jetifier и все сторонние библиотеки будут использовать AndroidX. Ну а пока тормозим свой билд необходимостью конвертирования Support Library артефактов в AndroidX 🤦‍♂️.

    Хотите узнать сколько в вашем проекте зависимостей используют Support Library и можно ли в вашем проекте отказаться от Jetifier - попробуйте Can I drop Jetifier?.
  • Android Broadcast

    #BKUG #Meetup #Coroutines

    BKUG #13

    Для всех тех у кого есть вопросы как использовать корутины правильно и эффективно, сообщество Belarusian Kotlin User Group (BKUG) приготовило для вас митап. В рамках встречи лидеры сообщества Кирилл Розов и Руслан Ибрагимов поделятся лучшими практиками в использование корутин на Android. Также вы сможете задать свои вопросы и получить ответы.

    Начало в 19.00 в Space_. Проход через Октябрьскую 10б (рекомендую ориентироваться на этот адрес)

    Участие бесплатное по предварительной регистрации
  • Android Broadcast

  • Android Broadcast

  • Android Broadcast

    #DarkTheme

    Moving to the Dark Side: Dark Theme Recap

    В Android 10.0 Q будет поддержкой темной темы в ОС, хотя возможность она уже была давно доступна для разработчиков приложений (DayNight).

    Почему важна поддерживать темную тему:
    👉 Экономия батарейки устройства
    👉 Более комфортное использование приложений в темных условиях и для людей, чувствительных к яркому свету

    Разработчикам сейчас предоставляется 2 возможности для реализации темной темы:
    👉 Использование DayNight темы для приложения
    👉 Поддержка Force Dark Mode с помощью включения android:forceDarkAllowed=”true”

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

    #Новости

    За все время существование канала я всегда старался сделать подачу контента удобной и не перегружать подписчиков большим потоком информаци. Последний месяц я ввел несколько правил, которые придерживался при создание постов:
    1️⃣ Не больше 4 постов в день
    2️⃣ Воскресенье - выходной. Ждать в этот день постов не стоит. Расслабьтесь, приготовьтесь к новой неделе.
    3️⃣ Первые 2 правила могут нарушаться в исключительных случаях - очень важные новости, которые нужно рассказать ASAP
    4️⃣ Большие обзоры будут создаваться на сторонних сервисах (Telegraph, Medium) и поститься в кратком варианте в канал
    5️⃣ Все новости постятся без оповещений, чтобы не отвлекать от важных дел

    Этим правилам я буду следовать и дальше .Буду очень рад вашим альтернативным предложениям по контенту и его подаче. Вы можете написать мне лично @krlrozov либо обсудить это в чате @android_broadcast_discussions
  • Android Broadcast

    #Kotlin #Architecture #Delegate

    Class delegation in Kotlin

    Все мы хотим (и даже должны) делать хорошую архитектуру приложений: разбивать на слои, писать переиспользуемый код, покрывать тестами, не использовать сильные связи между классами (например наследование 😦) и др.

    Для этого у нас есть много рекомендаций, одна из которых - делегаты. В Java я не использовал этот шаблон программирования активно по причине, что это боль - нужно писать дубликат API из делегата и пробрасывать все вызовы в этот объект.

    Kotlin сделал этот подход проще, так как на уровне языка есть поддержка делегатов, что позволяет переиспользовать код без наследования в одну строку кода. Также можно построить своеобразный вариант множественного наследования.

    👇Узнайте больше из статьи 👇
  • Реклама

  • Android Broadcast

    #Kotlin #AnnotationProcessor

    Annotation processor: Say less, mean more

    Как часто вам приходится писать рутинный код? Да, вы можете избавиться от него с помощью выделения кода в методы, классы и библиотеки с кучей API, но даже этот подход не всегда позволяет эффективно сократить код, так как есть части за которыми надо следить руками и дополнять.

    Современная Java разработка (как и Kotlin) имеет возможность генерация кода в момент компиляции - Annotation Processor. Суть технологии проста - вы помечаете код аннотациями, а специальная утилита, называемая процессор аннотаций (в Kotlin это kapt) запускают написанный вами обработчик этих аннотаций и позволяют во время компиляции сделать различные операции, например сгенерировать код.

    Большинство Android разработчиков используют библиотеки с Annotation Processor: Dagger 2, Room, Butterknife, Arch Component Lifecycle.

    Упростить свою задачу с помощью кодогенерации и Annotation Processor не так сложно. Подумайте что в вашем вы бы перестали бы писать каждый раз, возьмите JavaPoet или KotlinPoet, изучите статью и вперед!
  • Android Broadcast

    #GooglePlay

    Building a safer Google Play for kids

    Google Play становится более безопасным для детей и семей. Для разработчиков это выливается в следующие изменения:
    👉 Если дети часть вашей аудитории, ты ваше приложение должно соответствовать новой политике по контенту и обработки персональных данных
    👉 Реклама в вашем приложение должна соответствовать аудитории и предоставляться из рекламных сетей, которые сертифицированы в соответствии с новой политикой
    👉 Если ваше приложение не предназначается для детей, то вы должны убедиться, что ваше приложение соответствует требованиям. Например, это касается контента в информации на Google Play

    Теперь при публикация приложения в Google Play надо указывать целевую аудиторию и контент приложения. Для уже опубликованных приложений необходимо сделать обновления до 1 сентября 2019.
  • Android Broadcast

    #Kotlin

    When to use Kotlin's takeIf() and takeUnless() functions

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

    Задача этих функций в том чтобы проверить значение и если оно удовлетворяет (или нет в для takeUnless) условию вернуть это значение, в противном случае - null. Например digit.takeIf { it % 2 == 0 }, что является аналогом кода if (it % 2 == 0) digit else null.

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