Size: a a a

Android Broadcast

2020 December 03
Android Broadcast
#KMP

Okio's Kotlin Multiplatform Files API

Авторы библиотеки Okio (OkHttp, Retrofit и др.) активно работают над реализацией мультиплатформенного API для работы с файлами и потоками. Сделано уже много чего, ждем полноценного релиза библиотеки в KMP варианте
источник
2020 December 04
Android Broadcast
#Jetpack

Обновление Android Jetpack 2 декабря 2020

Browser 1.3.0
👉 Улучшения Trusted Web Activity API с помощью возможности отправки команд
👉 Возможность управлять показом опции шаринга
👉 Больше возможностей по управлению цветом Custom Tab

Wear Input 1.0.0
👉 Возможность обработки физических клавиш из Jetpack библиотеки
👉 API для тестирования работы с кнопками

Navigation 2.3.2
👉 Safe Args API теперь совместимо с Kotlin explicit API mode
👉 Испралвение багов

Biometric 1.2.0-alpha01
👉 Kotlin расширения для biometric - biometric-ktx
👉 AuthPrompt API для построения BiometricPrompt при выполнение авторизации

Exifinterface 1.3.2
👉 Исправление багов

Что еще:
👉 Произошли важные фиксы в Activity Result API
👉 FragmentScenario переезжает полностью на Kotlin
👉 RecyclerView 1.2.0-beta01 не принес изменений с альфы, что говорит о уже неплохой стабильности
👉 Множество beta и rc релизов
источник
Android Broadcast
#UI

Simple Settings Activity

Библиотека для создания экранов настроек на основе стандартного фреймворка. Библиотека имеет удобный DSL на основе Kotlin для создания экрана настроек в runtime
источник
Android Broadcast
источник
2020 December 07
Android Broadcast
#Fragment

Обновлена документация по Fragment

Документация по Fragment была написана давным давно (5+ лет назад). Что нового:

Создание Fragment:
👉 передача layout res в конструктор
👉 FragmentContainerView
👉 получение аргументов

FragmentManager:
👉 отношения между fragment (parent и child)
👉 back stack
👉 setPrimaryNavigationFragment()
👉 FragmentFactory

FragmentTransaction:
👉 Почему всегда надо использовать setReorderingAllowed(true). Связано с анимациями и back stack
👉 setMaxLifecycle()
👉 Особенности show()/hide()
👉 Особенности attach()/detach()

Что еще нового:
👉 Fragment Shared Element Transition
👉 Обновление документации по жизненному циклу Fragment
👉 Особенности сохранения состояния Fragment
👉 Взаимодействие с Fragment: Shared ViewModel, Fragment Result API
👉 Взаимодействие с AppBar
👉 Использование DialogFragment
👉 Тестирование Fragment
источник
Android Broadcast
#CI #CD

Прокачиваем Android проект с GitHub Actions

GitHub - самый популярный сервис для хранения кода, особенно open source проектов. Не так давно на сервисе появилась фича GitHub Actions, которая позволяет автоматизировать ваши процессы, связанные с кодом в рамках GitHub.

В первой части статьи рассматривается настройка автоматической проверки кода на Pull Request и сборка релизных артефактов. Во второй части запускаются UI тесты в Firebase Test Lab
источник
Android Broadcast
#UI #Compose

Server-Driven UI for Android with Jetpack Compose

Jetpack Compose открывает новые горизонты, меняя взгляд на построения UI. Когда все переезжает из XML в код и становится ближе к бизнес логике, то этим становится проще управлять через сервер.

Например, сделать Server-Driven UI более эффективно чем это делалось на View. Автор статьи приводит в пример свое видение такой реализации
источник
2020 December 08
Android Broadcast
#UI

Рисование собственных представлений (View) в Android

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

В статье вы найдете руководство как сделать простой кастомный виджет на Kotlin
источник
Android Broadcast
#Location

Improving urban GPS accuracy for your app

Google улучшает позиционирование в больших городах. Заработает это для тех кто использует Fused Location Provider. Улучшения затрагивают 3850 городов, но Россия и Украина в них не попадает (
источник
2020 December 09
Android Broadcast
Решил выянсить по каким странам распределена аудитория канала. В какой стране находитесь Вы?
Окончательные результаты
49%
Россия
15%
Беларусь
22%
Украина
4%
Казахстан
2%
Страна ЕС
0%
США
7%
Другая страна
1%
Не участвую в опросе
Проголосовало: 1563
источник
Android Broadcast
#RecyclerView

Custom ItemDecoration

Наверняка вы знаете что разделять item'ы в RecyclerView путём добавления в их xml специального view-разделителя - это очень плохая практика. Для этих целей существует такой инструмент как ItemDecoration.

Благодаря тому что мы можем наследоваться от этой абстракции у нас открываются возможности разнообразной реализации, например:
👉 Убрать разделитель для последнего item'а
👉 Сделать специальные разделители для определённого ViewType
👉 Показывать уникальные разделители для item'ов на определённых позициях.

Автор подробно рассматривает все случаи кастомных декораций и даёт примеры кода для реализации в своих проектах
источник
Android Broadcast
Какие возможност RecyclerView вы используете? (множественный выбор)
Анонимный опрос
27%
ItemDecoration
4%
Шаринг RecycledViewPoll между 2+ RecyclerView
30%
DiffUtil
5%
ConcatAdapter (ex MergeAdapter)
6%
Пишу кастоный LayoutManager
12%
SnapHelper
9%
payload в методах RecyclerView.Adapter
2%
state restoration policy
2%
Другой вариант
4%
Не участвую в опросе
Проголосовало: 3240
источник
Android Broadcast
android_broadcast
#Location

Improving urban GPS accuracy for your app

Google улучшает позиционирование в больших городах. Заработает это для тех кто использует Fused Location Provider. Улучшения затрагивают 3850 городов, но Россия и Украина в них не попадает (
Всем приношу извинения за то что написал Украина с маленькой буквы. Сделано было не со зла, а из-за опечатки т.к. слишком быстрый темп жизни постоянно дает о себе знать.
источник
Android Broadcast
#AndroidBroadcast

Встречайте канал @kotlin_broadcast. В новом канале от автора @android_broadcast будет множество новостей которые касаются Kotlin и Multiplatform разработки.

Важно: Самые важные новости касательно Android разработки на Kotlin по-прежнему будут в @android_broadcast!
источник
2020 December 10
Android Broadcast
#RecyclerView

How to Cook the 60 FPS RecyclerView?

Советы как сделать работу вашего RecyclerView максимально быстрой и плавной:
👉 Максимально простая иерархия View. И плоская
👉 Не стесняйтесь прибегать к Custom View, чтобы сделать иерархию плоской
👉 Большое количество уникальных типов элементов негативно влияет сна производительность
👉 Используйте оптимизации RecyclerView: DiffUtils, setHasFixedSize(), setItemViewCacheSize(), setRecycledViewPool()
источник
Android Broadcast
#AndroidBroadcast

Рад представить вам генерального партнёра проекта Android Broadcast - AvitoTech. Это очень классные ребята с отличной культурой разработки. У меня появилась возможность работать с ними ближе в рамках сотрудничества и я этому очень рад!

Если вам интересно присоединиться к их команде, то прямо сейчас они ищут Android разработчиков в команды:
🔥 Speed (CI/CD, фреймворки для тестирования и релизы)
🚀 Performance (ускорение Авито на всех платформах)
источник
Android Broadcast
#Security

Подменяем Runtime permissions в Android

В Android можно обмануть систему при показе системного диалога с получением разрешения, перекрыв его своим. Уязвимость появилась после Android 7.1.
источник
Android Broadcast
#Security #GooglePlay

Seeing If Your App Has the Play Core Vulnerability

Найдена уязвимость в библиотеке Google Play Core, которая позволяет выполнять код удаленно. Уязвимость содержится во всех версиях библиотеки с 1.3.6 до 1.7.1. Бегите обновляться до любой версии, начиная с 1.7.2.

Чтобы проверить, использует ли ваше приложение эту библиотеку выполните в терминале команду
./gradlew <МОДУЛЬ ПРИЛОЖЕНИЯ>:dependencies | fgrep "com.google.android.play:core"

Возможно библиотека не подключена у вас явным образом, но может подключаться транзитивно из других библиотек
источник
2020 December 11
Android Broadcast
#Emulator

Android Emulator Apple Silicon Preview

Для всех кто прикупил новые MacBook c M1 и хочет их использовать как основную машину для разработки хорошая новость - в команде Android уже работают над версией эмулятора ARM64, которую можно будет запускать на Apple Silicon.

Пока все находится в разработке и не работает множество функций в системе, таких как WebView, звук, Vulkan и др. Для приложений где этот функционал отсутсвует или некритичен вы можете попробовать обкатать этот эмулятор
источник
Android Broadcast
#Kotlin #IDEA

Kotlin Plugin Released With IDEA 2020.3

Разработка Kotlin плагина переехала в репозиторий IDEA и стала его частью, чтобы упростить интеграцию последних фичей платформы. Теперь мажорные релизы Kotlin плагина будут выходить вместе с IDE от JetBrains.

В последнем релизе 2020.3 добавили такие функции:
👉 Inline рефакторинг в разных языках
👉 Поддержка структурного поиска и замены для Kotlin, позволяющие искать код по шаблону
👉 Поддержка настроек форматирования кода для Kotlin плагина в .editorconfig
👉 Новые шаблоны для Jetpack Compose for Desktop и KMP

Хотите получать больше новостей о Kotlin и Kotlin Mobile Multiplatform? Подписывайтесь на Telegram канал @kotlin_broadcast
источник