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

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

РКН https://abdev.by/rkn_tg_ab
Download Telegram
Какой подход для использование общего кода между Android и iOS вы считаете наиболее переспективным?
Anonymous Poll
35%
Kotlin Multiplatform
27%
Flutter
3%
Другие кроссплатформенные фреймворки
35%
Нативные приложения под каждую платформу рулят
#Conference #Mosсow

В Москве сегодня началась конференция Mobius. У вас есть возможность смотреть трансляцию первого дня главного зала абсолютно бесплатно. Записи докладов в публичный доступ выложат только весной 2020
#Kotlin

What to Expect in Kotlin 1.4 and Beyond

Все с нетерпением ждут новой версии Kotlin, чтобы любимый язык стал еще лучше! Kotlin 1.4 ожидается весной 2020 и основной упор будет сделан на оптимизацию производительности и удобство работы. Нас ждет:
🔥 Новый компилятор, который призван ускорить работы языка не на 10-20%, а так чтобы это можно было оценить без бенчмарков
🔥 Новая система type inference (выведение типов), которая улучшит существующую и позволит реализовать новые возможности (SAM)
🔥 klib - новый формат для Kotlin библиотек
🔥 Улучшения в Kotlin MPP

Пока это все что известно. Ждём больше новостей весной 2020!
#AndroidX #JetpackWeekly

Android Jetpack Weekly #13

Новая неделя и новые обновления:
👉 Autofill 1.0.0 - константы для обеспечения корректной работы Autofill
👉 Coordinator Layout 1.1.0 - улучшение nested scrolling
👉 Много исправлений ошибок в новых RC/Beta версиях

Внимание: все кто поддерживает nested scrolling стоит обратить внимание на новое API. Вам надо обновиться!
#Error #FunctionalProgramming

Do You Even Try? — Functional Error Handling in Kotlin

Обработка ошибок == try {} catch() для всех Kotlin/Java разработчиков. Но что если взглянуть на обработку ошибок с помощью возможностей функционального программирования и оборачивать их в специальные классы Success/Failure ?

В статье разбирается как изменить способ обработки ошибок, не упустить ни одной в ваших вызовах и сократить crash rate
#Automation #Testing

Kaspresso: The autotest framework that you have been looking forward to

Автоматизированное тестирование позволяет ускорить доставку нового функционала приложения пользователю, сократив время на регрессию и избежать багов.

Google рекомендует использовать Espresso, но так ли он хорош как его описывает создатели? Espresso не решает или не умеет:
👉 Flaky тесты
👉 Не имеет поддержки фичей из Kotlin, что не позволяет писать тесты в более приятном формате
👉 Описание ошибки в которых трудно разобраться 😔, а порой бы хорошо было сделать скриншот и увидеть что не так

Встречайте решение этих проблем библиотек Kaspresso.
#Job #Minsk

Всем привет. Хочу обратиться с предложением о работе: я ищу людей в свою команду в компанию Humans. Я, автор канала Кирилл Розов, занимаю позицию Lead Android Developer и занимаюсь разработкой Android приложений.

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

Вакансия в Минске, периодическая работа из дома, свободный график и пр. удобства прилагаются

P.S. Предложение о работе исходит от меня, это не реклама и аналогичные посты не будут появляться регулярно. Прошу не засыпать дизлайками
#Architecture

Store - Android Library for Async Data Loading and Caching

Современные приложения - это комбайн по обработке данных, которые зачастую оно получает из сети, кэширует и показывает пользователю. Все это мы должны сделать эффективно: загрузить данные в фоне, обработать ошибки. Также современным трендом является "offline-first", когда приложение имеет возможность работать без сети и позволяет работать с уже ранее полученными данными.

Библиотека Store предлагает решения этих задач (аналогично паттерну Repository). Все API основано на Kotlin и использует преимущества Coroutine.
#REST #Network

Retrofit 2.7.0

Вышла версия 2.7.0 популярной REST библиотеки Retrofit. Что нового:
👉 Обновлён OkHttp до 3.14.4
👉 Минимальная поддерживаемая версия Android теперь 5.0 и Java 8
👉 Исправление багов

Также вышла версия 2.6.3, в которой просто исправили баги и оставили поддерживаемую версию Android и Java без изменений.
#Kaspresso #Automation

Ребята из Kaspersky Lab, HH и Авито решили распространить автоматизацию Android приложений в массы! После того как они разработали библиотеку Kaspresso, они решили организовать воркшоп на котором поделятся лучшими практиками, подготовят задания по вашим нуждам (да-да, вы можете повлиять на контент воркшопа), выполнят их вместе с вами и ответят на ваши вопросы по Espresso и Kaspresso.

Воркшоп не требует никаких минимальных знаний, а только одного - желание автоматизировать тесты 😁. Воркшоп поможет вам научиться пить чай/кофе пока регрессия бегает на устройствах
#Android10 #SmartReply

Generate Auto Suggestion using Android Text Classifier API

В Android 10 было обновлено TextClassifier API и добавлены модели новые модели, который способны распознавать действия для smart reply.

В статье рассматриваются изменения в Android 10 и как улучшить ваши уведомления с помощью машинного обучения на устройстве и TextClassifier API
#Android

Шпаргалка по фичам Android с 6 версии
Продолжительность: 27:29

Android выпускает новую версию каждую год и каждый раз добавляют новые функции, которые позволяют более тесно интегрировать приложение с системой, обеспечить более высокую безопасность данных и заставляют работать с системой разработчиков более правильно!

На онлайн митапе в ReadMadRobot Костя Цховребов рассмотрел все функции, которые появились в Android c версии 6.0.
#Gradle #KotlinDSL #Migration

Converting your Android Gradle scripts to Kotlin

Kotlin прекрасен и убрать скриптовый Groovy из Gradle и получить подстветку синтаксиса, автодополнение и единый язык между кодом и Gradle скриптами - это хорошо. Правда за это придется заплатить ценой сборки проекта

В статье поэтапно разбирается миграция на Kotlin Gradle DSL
#Kotlin #InlineClass

Low-overhead wrappers using inline classes

Как много применений имеют значения типа Int в Android приложениях? Это и id, и разные типы ресурсов, и пр. Очень легко ошибиться и промахнуться с типом ресурсов. Это позволяет избегать классы-обертки, но их проблема в том, что они создают новые объекты в памяти и заставят работать GC активнее.

Kotlin Inline классы - это то что совмещает в себе удобство Wrapper классов и вам не придется платить цену за создание доп. объектов, так как их не будет.
#UnderTheHood

Mastering the Android Touch System

Каждый день мы совершаем тысячи событий для системы, касаясь экрана смартфона. Знание особенностей работы этой системы поможет строить ваши собственные View эффективнее, а также понимать принципы работы для другого функционала связанного с обработкой касаний экрана.
#AOSP

Code Search with Cross References for the AOSP

Google представила новый поиск для Android Open Source Project (AOSP) - Code Search (cs.android.com). Что уже можно попробовать сейчас из функционала:
👉 Поиск
👉 Просмотр исходного кода
👉 Навигация между файлами
👉 Переключение между ветками
#AndroidStudio #AppBundle #GooglePlay #DynamicDelivery

Conditional delivery for app bundles - Android Tool Time 3.5 Features

Остается немного до релиза Android Studio 3.6, а Google опомнилась и все рассказывает про AS 3.5. В новой версии появилась возможность для App Bundle - Conditional delivery. Она позволяет вам устанавливать модули приложения в зависимости от того поддерживает ли ваше устройство определенные функции или находится в заданной стране.

Конечно без модуляризация проекта и использования dynamic-feature не обойтись.
The importance of USB SuperSpeed for Android Development

Google решила раскрыть важность качественного USB кабеля, для ускорения разработки. Что важного стоит извлечь из статьи:
👉 Важно искать синий коннектор - это явный признак USB 3.0 и хорошей скорости
👉 Не все кабели USB Type-C являются USB 3.X
👉 Существует прямая корреляция между скоростью USB и скоростью итераций проверки
👉 Переходники с Mini/Micro USB на Type-C зачастую портят скорость. Используйте кабели без переходников!
👉 Зачастую USB Hubы используют USB 2.0. Например, мониторы с множеством портов.

Вполне логично было бы услышать такую рекламу от компании фрукта, которая любит зарабатывать на аксессуарах чтобы продать новый Lighting PRO кабель, но рекомендация идет от разработчика из Google.
#Android10 #GestureNavigation #ImmersiveMode

Immersive mode with Gesture Navigation - Android Development Patterns

Новая системы навигации жестами в Android 10 наделала шума среди разработчиков, так как многих пришлось заняться поддержкой своих собственных виджетов и изменять навигацию в существующих. В видео вы найдете как эффективно связать новую систему навигации и Immersive Mode, который позволяет использовать всё пространство экрана и избегать конфликты с жестами