Android Broadcast
14.2K subscribers
3.52K photos
339 videos
11 files
5.89K links
Подборка новостей и статей для Android разработчиков.

Связь с автором @android_broadcast_bot
Реклама @ab_manager

РКН https://abdev.by/rkn_tg_ab
Download Telegram
#Kotlin

First Look at Kotlin 1.4-M2: Standard Library Improvements

Свежие новости о Kotlin 1.4. Скоро нас ждет следующее превью новой мажорной версии языка и нам рассказывают об изменениях, которые нас ждут в стандартной библиотеке:
👉 Теперь стандартную библиотеку можно без проблем использовать на любой из поддерживаемых языком платформ
👉 Новые функции для массивов: shuffle(), onEach(), reverse(), sortDescending()
👉 Новые функции для коллекций и Sequence
👉 String.toBoolean() стало String?.toBoolean() и теперь для null String? будет возвращать false
👉 maxOf() и minOf() принимают vararg
👉 Теперь ReadWriteProperty наследуется от ReadOnlyProperty. Это позволит использовать ReadWriteProperty с val
👉 Новый интерфейс PropertyDelegateProvider, который позволяет не создавать новый класс для делегата и использовать анонимный объект
👉 Делегирование одного property другому
👉 Если делегаты не будут использовать информацию из KProperty, то оно будет удаляться в момент компиляции
#Kotlin #CodeQuality

Вышел Detekt 1.9.0

Вышла новая версия статического анализатора Kotlin кода. Значительных обновлений нет, но появилось новое правило MandatoryBracesLoops, которое проверяет наличие блока у циклов
#Animation #VectorDrawable

Introducing Vectordrawable-Seekable

AnimatedVectorDrawable - крутая возможность Android для работы с графикой, но у нее не было возможности управления анимацией. Недавно была анонсирована разработка новой библиотеки, в которой появится SeekableAnimatedVectorDrawable.

Возможности нового класса позволяют ставить анимацию на паузу и перемещаться в любой ее момент (seek)
👍1
Primaree - простая библиотека, которая поможет вам безопасно инициализировать Android приложение со множеством процессов.

Скажите у вас такого быть не может? Скорее всего да, но сторонние библиотеки такое могут сделать. Надо быть внимательнее. Подробнее об этом можно узнать из доклада автора библиотеки.
#RxJava

Rx головного мозга

Команда Android-разработки FunCorp вдохновилась докладом Jake Wharton и решила попробовать написать приложение полностью построенное на Rx. Даже так, где это кажется очень странным, сильно упрощает жизнь и делает код очевиднее.

Так ли это или нет можете почитать в разборе этого подхода в статье.
#View

Stop Using Post/PostDelayed in Your Android Views
3 минуты

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

В статье разбирается почему стоит избегать такого кода и как это можно сделать для View.
#podcast

Android Broadcast Podcast #17: Как заработать миллион на собственном приложении

Многие разработчики задумываются как разработать свое приложение, чтобы стать независимым. В гости в подкаст пришел Алексей Рудак, который разработал множество приложений в одиночку и смог разработать 1 000 000 $, а сейчас основал свой стартап в сфере переводчиков.

Гость - Алексей Рудак, основатель компании Lingvanex, экс iOS разработчик
#Architecture

Understanding Clean Code in Android

В статье разбирается почему важно строить архитектуру (хороший пример с библиотекой) и разбор основных принципов которым надо следовать, а также принципов S.O.L.I.D.
#Architecture #MVI

Архитектурный шаблон MVI в Kotlin Multiplatform, часть 1

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

Автор библиотеки Reaktive делится виденьем архитектуры MVI, почему она лучше подходит чем MVVM
#RecyclerView

Playing with the new MergeAdapter on Android

В следующей версии RecyclerView (1.2.0) появится новый вид адаптеров - MergeAdapter, цель которого упростить объединение нескольких типов элементов в один адаптер.

В статье рассматривается пример использования, а также то чего не стоит допуска:
👉 Каждый адаптер внутри в MergeAdapter использует собственный пул для ViewHolder
👉 Не используйте notifyDataSetChanged()
👉 Используйте ViewHolder.getBindingAdapterPosition() вместо ViewHolder.getAdapterPosition(), который теперь deprecated
Вступил в силу новый ГОСТ для цифровых ресурсов: все платформы должны быть доступны для инвалидов

Теперь в РФ есть ГОСТ в который включены требования для мобильных приложений по их доступности для людей из различных групп: людей и ограниченными возможностями, пожилых людей. ГОСТ разработан на основе рекомендаций международной World Wide Web Consortium

Требования изложены в 4 принципах: цифровой контент должен быть воспринимаемым, управляемым, понятным и надежным. Выполнение ГОСТа необязательно и является лишь рекомендуемым для достижения высокого уровня доступности.
Заботитесь ли вы у себя в выполнении принципов доступности приложения для различных групп людей?
Anonymous Poll
15%
Да, все должны иметь полноценный доступ
59%
Нет, нет времени на заботы обо всём и всех
26%
Не участвую в опросе
#Networking #OkHttp

Вышел OkHttp 4.7.0

👉 Более простой способ отключить проверку безопасности во время разработки с помощью HandshakeCertificates.Builder.addInsecureHost()
👉 Добавлены события cacheHitcacheMiss и cacheConditionalHit() в EventListener
👉 Добавлена константа с версией текущего используемого OkHttp клиента
👉 Исправлены баги с Android Studio 4.1 и другие
#Android11 #Online

Анонс Android 11 Beta - Смотрим вместе

Когда: 3 июня, 17.40 GMT+3
Где: YouTube канал Android Broadcast

3 июня пройдет важное событие - запуск первой Beta Android 11. Для Android разработчиков это событие фактически Android Keynote с Google I/O, которого в этом году не состоялось.

Android Broadcast совместно с Android Dev Podcast объединились для организации стрима с комментариями от опытных разработчиков.

На трансляции будут опытнейшие Android разработчики, суммарный опыт которых порядка 50 лет: Кирилл Розов, Александр Блинов, Михаил Емельянов, Сергей Боиштян, Вадим Котов, Антон Дудаков
#UI #Testing

Snapshot tests or how to stop layouts from breaking (again)

Подход к тестированию UI не с помощью скриншотов (что требует запуска таких тестов на Android устройстве), а с помощью запуска тестов на основе Robolectric.

Библиотека Layout Verifier снимает дампы значений аттрибутов и сохраняет их файлы, последующие тесты проверяют их совпадение.
#Testing

Accelerate your Android Espresso testing by grouping relevant tests

Статья о различных видах группировки тестов для их точечного запуска. Все это реализовано с помощью аннотаций в JUnit4. Какие варианты групп есть:
👉 По размеру тестов
👉 Группировка нескольких тестов в Suite
👉 Произвольная группировка
#Coroutines #RxJava

The Real Kotlin Flow benefits over RxJava

«Я использую RxJava. Зачем мне Coroutines Flow?» - такой вопрос я зачастую слышал, когда делал доклады по Flow или топил за этот подход в офисе на кухне.

В статье автор сравнивает эти 2 подхода и показывает, как Flow хорошо себя зарекомендовали и позволяют делать, а где пока есть проблемы
#Tooling #Library

Android Ecosystem Cheat Sheet 2020

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

Вышла kotlinx.coroutines 1.3.7

В новой версии библиотеке нас ждёт:
👉 Новый оператор Flow.cancellable() (#2026)
👉 При эмите из flow теперь проверяет статус cancellation и подлежит отмене (#2026)
👉 Возможность получения текущего CoroutineContext с помощью функции currentCoroutineContext (#2026)
👉 Поддержка Kotlin Contract EXACTLY_ONCE  в coroutine builder-ах
👉 Проблемы в работе Android Lint (#2004)
👉 Улучшение документации