Size: a a a

Android Broadcast

2020 July 17
Android Broadcast
#IDEA

Shared Indexes Plugin Unveiled

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

Для решения этой проблемы JetBrains представили новый плагин, который позволяет делиться частью индексации большого проекта.
источник
Android Broadcast
#Coroutines

Вышла kotlinx.coroutines 1.3.8

Вышла новая версия Coroutine которая по большей части исправила баги. Появился новый оператор Flow.transformWhile
источник
Android Broadcast
#Kotlin #DefaultMethod

Kotlin 1.4-M3: Generating Default Methods in Interfaces

В Kotlin 1.4 появится новый режим компилятора для default методов в интерфейсах с Java 8 Target. Вместо генерации отдельного класса со статическими методами, Kotlin компилятор сможет генерировать сразу Java 8 байткод, причем аннотация JvmDefault больше не понадобится.
источник
Android Broadcast
#LiveData #Corotines #Flow

LiveData with Coroutines and Flow

Серия статей от гуглера о реактивном UI на основе Coroutine Flow. В серии статей рассказывается о:
👉 Реактивном UI
👉 Scope выполнения операций
👉 Почему Kotlin Coroutine хорошо подходят для решения асинхронных UI задач
👉 Интеграция Coroutines и Arch Components
👉 Отмена выполнения Coroutine
👉 Подходы для работы с LiveData и Coroutine в ViewModel
источник
Android Broadcast
#Architecture

Keep your interfaces simple

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

Одним из решений может стать реализация метода по умолчанию, однако такой подход не будет работать при мокировании объекта в тестах. Автор статьи предлагает использовать extension функции для таких случаев и объясняет преимущества такого подхода.
источник
2020 July 18
Android Broadcast
#RxJava

Что нового в RxJava 3

Весной вышла в свет новая версия реактивного фреймворка RxJava. Она не привнесла кардинальных изменений и в основном содержит исправление багов. В статье автор описывает что нового мы получили в этой мажорной версии:

👉 Поддержка Java 8
👉 Поддержка Streams и CompletabeFuture
👉 Убрана поддержка java.time.Duration и java.util.function
👉 По заверениям разработчиков теперь не будут теряться ошибки
👉 Функция reset для "горячих" Observable
👉 Возможность ставить Flowable на паузу
👉 Новый тип - Supplier – аналог Callable, но с throws Throwable

Так же автор даёт рекомендации по миграции на новую версию. Более подробно можно ознакомиться в статье.
источник
Android Broadcast
#Performance

Зачем инженерам тратить время на перформанс

В статье рассказывается как важно уделять внимание производительность, как замерить эффект плохой производительность, а когда слишком быстрая работа сервиса может вызвать подозрения у пользователя. Своим опытом делится инженер компании Авито
источник
2020 July 20
Android Broadcast
#SQLite #Security #Room

Securing a Room Database With Passcode-Based Encryption

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

В статье вы найдёте как шифровать базу данный SQLite, и в случае когда у вас используется Room.
источник
Android Broadcast
#Performance

Android Vitals - What time is it?

Для того чтобы получить время в Android существует 2 основных класса: System и SystemClock. В статье разбираются чем отличаются способу получения времени в этих классах и производится сравнение производительности (SystemClock работает практически в 2 раза быстрее)
источник
Android Broadcast
#Gradle #Performance

Optimize the build speed for your Android project

Извечная тема - Gradle и скорость сборки. Очередная статья которая напоминает что сделать, чтобы не проводить много времени ожидая сборки проекта.

Что стоит добавить в gradle.properties
👉 org.gradle.configureondemand=true
👉 kapt.use.worker.api = true
👉 org.gradle.parallel=true
👉 org.gradle.caching=true
👉 room.incremental = true
👉 org.gradle.unsafe.watch-fs=true

А еще советы:
👉 Отключить crunchPngs
👉 Отключить загрузку Firebase mapping где не нужно
источник
Android Broadcast
#AndroidBroadcast

Android Broadcast совместно с Avito.tech разработали стикерпак. Заветы Джейка, RxJava, Kotlin, Jetpack. Все это можно найти в стикерах.
источник
2020 July 21
Android Broadcast
#AndroidBroadcast

Помимо всего еще появились и интересные Zoom фоны от Android Broadcast! 🔥🔥🔥

Скачать фоны в высоком качестве можно ➡️ здесь
источник
Android Broadcast
источник
Android Broadcast
#Gradle #Performance

The proper care and feeding of your Gradle build

В дополнение к вчерашнему посту об оптимизации Gradle сборки Android проектов рекомендую еще уделить внимание и анализу зависимостей и плагинов вашего проекта.

В статье разбирается Dependency Analysis Gradle Plugin. Плагин поможет понять вам:
👉 Есть ли у вас в проекте неиспользуемые зависимости
👉 Если ли у вас неиспользуемые процессоры аннотаций
👉 Правильно ли вы объявляете зависимости
👉 Используете ли вы транзитивные зависимости, которые лучше объявить явно
👉 Все ли плагины используются?
источник
Android Broadcast
#Dagger #Hilt #DependencyInjection

Scoping in Android and Hilt

В Dagger мы привыкли работать с Subcomponent и делать разные Scope, для того чтобы управлять жизнью отдельных объектов графа. В Hilt нас ждут перемены работы с графом и это задело Scope тоже

В статье происходит разбор того как создать Scope для ViewModel при использовании Hilt
источник
Android Broadcast
#Kotlin #Native

Kotlin/Native Memory Management Roadmap

В Kotlin/Native изменится модель управления памятью, чтобы избавиться от ограничений, которые сейчас накладываются на параллельное программирование. Изменения пока еще находятся на стадии проектирования и текущая модель останется работать.
источник
Android Broadcast
Как правильно назвать того, кто разрабатывает приложения под Android?
Окончательные результаты
74%
Android разработчик
13%
Разработчик под Android
6%
Android инженер
0%
Другой вариант (пищите в @android_broadcast_talks)
6%
Не участвую
Проголосовало: 1329
источник
2020 July 22
Android Broadcast
#BatteryOptimization #OEM

The Bifurcation Of Android

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

В особенности приходится страдать из-за агрессивного убийства процессов в фоне, правда это справедливо не для всех. Часть предустановленных приложений или тех кто смог договориться попадают в white list. Как быть простому разработчику?

В статье вы найдете историю борьбы разработчика с производителем устройств и что Google предпринимает для того, чтобы приструнить создателей смартфонов
источник
Android Broadcast
#Dagger #Hilt #Migration

Migrating the Google I/O app to Hilt

Google перевела приложение Google I/O на Hilt и результаты впечатляющие - убрали 1500 строк кода. Миграцию выполняли с dagger.android. Тем кто готов уже пробовать альфу - можете использовать как гайд, а исходники приложения как пример
источник
Android Broadcast
#Paging #RecyclerView

Paging with Paging 3

Рассказа про следующую версию Paging библиотеки, которая добавляет все хотелки разработчиков. Больше деталей и примеров в видео и статье
источник