#AndroidBroadcast
Стартуем обсуждение того, как правильно просить повышение ЗП и какие пути для этого есть.
Запись будет доступна сразу на YouTube
Стартуем обсуждение того, как правильно просить повышение ЗП и какие пути для этого есть.
Запись будет доступна сразу на YouTube
YouTube
Как повысить ЗП
#AndroidBroadcast
Советы по повышению ЗП в IT: как правильно сделать, обязательно ли менять работу, KPI и прочие вопросы не останутся без ответа
Гости выпуска:
- Денис Неклюдов, Staff Software Engineer в Lyft. Хотел создать свой тик ток хаус с блэкджеком…
Советы по повышению ЗП в IT: как правильно сделать, обязательно ли менять работу, KPI и прочие вопросы не останутся без ответа
Гости выпуска:
- Денис Неклюдов, Staff Software Engineer в Lyft. Хотел создать свой тик ток хаус с блэкджеком…
#Webinar #Kotlin #Kafka
Apache Kafka® Event Streaming Platform For Kotlin Developers
10 декабря в 19.30 (GMT+ 3). Язык - английский
10 декабря JetBrains организует вебинар, посвященный использованию Kafka в серверных приложениях на Kotlin.
Вебинар будет интересен разработчикам, которые уже использую Kotlin для серверных приложений, а также тем, кто только планирует начать. Написать сервер для своего приложения, и расширить применение Kotlin за пределы Android будут очень полезным навыком!
Ведущие:
😎 Антон Архипов, Dev Advocate в JetBrains
😎 Виктор Гамов, Dev Advocate в Confluent
Чтобы получить уведомление за день до вебинара и приглашение для вашего календаря зарегистрируйтесь по ссылке
Apache Kafka® Event Streaming Platform For Kotlin Developers
10 декабря в 19.30 (GMT+ 3). Язык - английский
10 декабря JetBrains организует вебинар, посвященный использованию Kafka в серверных приложениях на Kotlin.
Вебинар будет интересен разработчикам, которые уже использую Kotlin для серверных приложений, а также тем, кто только планирует начать. Написать сервер для своего приложения, и расширить применение Kotlin за пределы Android будут очень полезным навыком!
Ведущие:
😎 Антон Архипов, Dev Advocate в JetBrains
😎 Виктор Гамов, Dev Advocate в Confluent
Чтобы получить уведомление за день до вебинара и приглашение для вашего календаря зарегистрируйтесь по ссылке
Forwarded from Kotlin Multiplatform Broadcast
#KMP
Okio's Kotlin Multiplatform Files API
Авторы библиотеки Okio (OkHttp, Retrofit и др.) активно работают над реализацией мультиплатформенного API для работы с файлами и потоками. Сделано уже много чего, ждем полноценного релиза библиотеки в KMP варианте
Okio's Kotlin Multiplatform Files API
Авторы библиотеки Okio (OkHttp, Retrofit и др.) активно работают над реализацией мультиплатформенного API для работы с файлами и потоками. Сделано уже много чего, ждем полноценного релиза библиотеки в KMP варианте
#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 -
👉 AuthPrompt API для построения
Exifinterface 1.3.2
👉 Исправление багов
Что еще:
👉 Произошли важные фиксы в Activity Result API
👉
👉 RecyclerView 1.2.0-beta01 не принес изменений с альфы, что говорит о уже неплохой стабильности
👉 Множество beta и rc релизов
Обновление 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 релизов
#UI
Simple Settings Activity
Библиотека для создания экранов настроек на основе стандартного фреймворка. Библиотека имеет удобный DSL на основе Kotlin для создания экрана настроек в runtime
Simple Settings Activity
Библиотека для создания экранов настроек на основе стандартного фреймворка. Библиотека имеет удобный DSL на основе Kotlin для создания экрана настроек в runtime
#Fragment
Обновлена документация по Fragment
Документация по Fragment была написана давным давно (5+ лет назад). Что нового:
Создание Fragment:
👉 передача layout res в конструктор
👉
👉 получение аргументов
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
Обновлена документация по 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
#CI #CD
Прокачиваем Android проект с GitHub Actions
GitHub - самый популярный сервис для хранения кода, особенно open source проектов. Не так давно на сервисе появилась фича GitHub Actions, которая позволяет автоматизировать ваши процессы, связанные с кодом в рамках GitHub.
В первой части статьи рассматривается настройка автоматической проверки кода на Pull Request и сборка релизных артефактов. Во второй части запускаются UI тесты в Firebase Test Lab
Прокачиваем Android проект с GitHub Actions
GitHub - самый популярный сервис для хранения кода, особенно open source проектов. Не так давно на сервисе появилась фича GitHub Actions, которая позволяет автоматизировать ваши процессы, связанные с кодом в рамках GitHub.
В первой части статьи рассматривается настройка автоматической проверки кода на Pull Request и сборка релизных артефактов. Во второй части запускаются UI тесты в Firebase Test Lab
#UI #Compose
Server-Driven UI for Android with Jetpack Compose
Jetpack Compose открывает новые горизонты, меняя взгляд на построения UI. Когда все переезжает из XML в код и становится ближе к бизнес логике, то этим становится проще управлять через сервер.
Например, сделать Server-Driven UI более эффективно чем это делалось на View. Автор статьи приводит в пример свое видение такой реализации
Server-Driven UI for Android with Jetpack Compose
Jetpack Compose открывает новые горизонты, меняя взгляд на построения UI. Когда все переезжает из XML в код и становится ближе к бизнес логике, то этим становится проще управлять через сервер.
Например, сделать Server-Driven UI более эффективно чем это делалось на View. Автор статьи приводит в пример свое видение такой реализации
#UI
Рисование собственных представлений (View) в Android
Android хоть и имеет богатый набор виджетов, но всегда приходится прибегать к специфичным кастомизациям или вовсе сделать что-то свое. Также ожно из важных причин является производительность, так как сложная иерархия View, которая позволит достичь результата, может получиться напорядок медленее.
В статье вы найдете руководство как сделать простой кастомный виджет на Kotlin
Рисование собственных представлений (View) в Android
Android хоть и имеет богатый набор виджетов, но всегда приходится прибегать к специфичным кастомизациям или вовсе сделать что-то свое. Также ожно из важных причин является производительность, так как сложная иерархия View, которая позволит достичь результата, может получиться напорядок медленее.
В статье вы найдете руководство как сделать простой кастомный виджет на Kotlin
#Location
Improving urban GPS accuracy for your app
Google улучшает позиционирование в больших городах. Заработает это для тех кто использует Fused Location Provider. Улучшения затрагивают 3850 городов, но Россия и Украина в них не попадает (
Improving urban GPS accuracy for your app
Google улучшает позиционирование в больших городах. Заработает это для тех кто использует Fused Location Provider. Улучшения затрагивают 3850 городов, но Россия и Украина в них не попадает (
Android Developers Blog
Improving urban GPS accuracy for your app
Posted by Frank van Diggelen, Principal Engineer and Jennifer Wang, Product Manager At Android, we want to make it as easy as possibl...
Решил выянсить по каким странам распределена аудитория канала. В какой стране находитесь Вы?
Final Results
49%
Россия
15%
Беларусь
22%
Украина
4%
Казахстан
2%
Страна ЕС
0%
США
7%
Другая страна
1%
Не участвую в опросе
#RecyclerView
Custom ItemDecoration
Наверняка вы знаете что разделять item'ы в RecyclerView путём добавления в их xml специального view-разделителя - это очень плохая практика. Для этих целей существует такой инструмент как ItemDecoration.
Благодаря тому что мы можем наследоваться от этой абстракции у нас открываются возможности разнообразной реализации, например:
👉 Убрать разделитель для последнего item'а
👉 Сделать специальные разделители для определённого ViewType
👉 Показывать уникальные разделители для item'ов на определённых позициях.
Автор подробно рассматривает все случаи кастомных декораций и даёт примеры кода для реализации в своих проектах
Custom ItemDecoration
Наверняка вы знаете что разделять item'ы в RecyclerView путём добавления в их xml специального view-разделителя - это очень плохая практика. Для этих целей существует такой инструмент как ItemDecoration.
Благодаря тому что мы можем наследоваться от этой абстракции у нас открываются возможности разнообразной реализации, например:
👉 Убрать разделитель для последнего item'а
👉 Сделать специальные разделители для определённого ViewType
👉 Показывать уникальные разделители для item'ов на определённых позициях.
Автор подробно рассматривает все случаи кастомных декораций и даёт примеры кода для реализации в своих проектах
Какие возможност RecyclerView вы используете? (множественный выбор)
Anonymous Poll
71%
ItemDecoration
11%
Шаринг RecycledViewPoll между 2+ RecyclerView
78%
DiffUtil
12%
ConcatAdapter (ex MergeAdapter)
15%
Пишу кастоный LayoutManager
30%
SnapHelper
23%
payload в методах RecyclerView.Adapter
4%
state restoration policy
6%
Другой вариант
10%
Не участвую в опросе
Android Broadcast
#Location Improving urban GPS accuracy for your app Google улучшает позиционирование в больших городах. Заработает это для тех кто использует Fused Location Provider. Улучшения затрагивают 3850 городов, но Россия и Украина в них не попадает (
Всем приношу извинения за то что написал Украина с маленькой буквы. Сделано было не со зла, а из-за опечатки т.к. слишком быстрый темп жизни постоянно дает о себе знать.
#AndroidBroadcast
Встречайте канал @kotlin_broadcast. В новом канале от автора @android_broadcast будет множество новостей которые касаются Kotlin и Multiplatform разработки.
Важно: Самые важные новости касательно Android разработки на Kotlin по-прежнему будут в @android_broadcast!
Встречайте канал @kotlin_broadcast. В новом канале от автора @android_broadcast будет множество новостей которые касаются Kotlin и Multiplatform разработки.
Важно: Самые важные новости касательно Android разработки на Kotlin по-прежнему будут в @android_broadcast!
#RecyclerView
How to Cook the 60 FPS RecyclerView?
Советы как сделать работу вашего RecyclerView максимально быстрой и плавной:
👉 Максимально простая иерархия View. И плоская
👉 Не стесняйтесь прибегать к Custom View, чтобы сделать иерархию плоской
👉 Большое количество уникальных типов элементов негативно влияет сна производительность
👉 Используйте оптимизации RecyclerView: DiffUtils, setHasFixedSize(), setItemViewCacheSize(), setRecycledViewPool()
How to Cook the 60 FPS RecyclerView?
Советы как сделать работу вашего RecyclerView максимально быстрой и плавной:
👉 Максимально простая иерархия View. И плоская
👉 Не стесняйтесь прибегать к Custom View, чтобы сделать иерархию плоской
👉 Большое количество уникальных типов элементов негативно влияет сна производительность
👉 Используйте оптимизации RecyclerView: DiffUtils, setHasFixedSize(), setItemViewCacheSize(), setRecycledViewPool()
This media is not supported in your browser
VIEW IN TELEGRAM
#AndroidBroadcast
Рад представить вам генерального партнёра проекта Android Broadcast - AvitoTech. Это очень классные ребята с отличной культурой разработки. У меня появилась возможность работать с ними ближе в рамках сотрудничества и я этому очень рад!
Если вам интересно присоединиться к их команде, то прямо сейчас они ищут Android разработчиков в команды:
🔥 Speed (CI/CD, фреймворки для тестирования и релизы)
🚀 Performance (ускорение Авито на всех платформах)
Рад представить вам генерального партнёра проекта Android Broadcast - AvitoTech. Это очень классные ребята с отличной культурой разработки. У меня появилась возможность работать с ними ближе в рамках сотрудничества и я этому очень рад!
Если вам интересно присоединиться к их команде, то прямо сейчас они ищут Android разработчиков в команды:
🔥 Speed (CI/CD, фреймворки для тестирования и релизы)
🚀 Performance (ускорение Авито на всех платформах)
#Security
Подменяем Runtime permissions в Android
В Android можно обмануть систему при показе системного диалога с получением разрешения, перекрыв его своим. Уязвимость появилась после Android 7.1.
Подменяем Runtime permissions в Android
В Android можно обмануть систему при показе системного диалога с получением разрешения, перекрыв его своим. Уязвимость появилась после Android 7.1.
#Security #GooglePlay
Seeing If Your App Has the Play Core Vulnerability
Найдена уязвимость в библиотеке Google Play Core, которая позволяет выполнять код удаленно. Уязвимость содержится во всех версиях библиотеки с 1.3.6 до 1.7.1. Бегите обновляться до любой версии, начиная с 1.7.2.
Чтобы проверить, использует ли ваше приложение эту библиотеку выполните в терминале команду
Возможно библиотека не подключена у вас явным образом, но может подключаться транзитивно из других библиотек
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"Возможно библиотека не подключена у вас явным образом, но может подключаться транзитивно из других библиотек
#Emulator
Android Emulator Apple Silicon Preview
Для всех кто прикупил новые MacBook c M1 и хочет их использовать как основную машину для разработки хорошая новость - в команде Android уже работают над версией эмулятора ARM64, которую можно будет запускать на Apple Silicon.
Пока все находится в разработке и не работает множество функций в системе, таких как WebView, звук, Vulkan и др. Для приложений где этот функционал отсутсвует или некритичен вы можете попробовать обкатать этот эмулятор
Android Emulator Apple Silicon Preview
Для всех кто прикупил новые MacBook c M1 и хочет их использовать как основную машину для разработки хорошая новость - в команде Android уже работают над версией эмулятора ARM64, которую можно будет запускать на Apple Silicon.
Пока все находится в разработке и не работает множество функций в системе, таких как WebView, звук, Vulkan и др. Для приложений где этот функционал отсутсвует или некритичен вы можете попробовать обкатать этот эмулятор