#Gradle #CodeGeneration
Generating Java/Kotlin source files during Android Gradle build
Популярный способ генерации кода в Android/Java проектах - использование annotation processing. Есть ограничения этого механизма - он способен обрабатывать аннотации только в Java/Kotlin коде.
Но что делать если вы хотите генерировать код на основе других исходников, например XML файлов, или вовсе без исходников Например, так делает Android Data Binding. Реализуется это с помощью генерации кода на основе Android Gradle плагина. В статье разбирается пример как вы можете сгенерировать код самостоятельно.
Generating Java/Kotlin source files during Android Gradle build
Популярный способ генерации кода в Android/Java проектах - использование annotation processing. Есть ограничения этого механизма - он способен обрабатывать аннотации только в Java/Kotlin коде.
Но что делать если вы хотите генерировать код на основе других исходников, например XML файлов, или вовсе без исходников Например, так делает Android Data Binding. Реализуется это с помощью генерации кода на основе Android Gradle плагина. В статье разбирается пример как вы можете сгенерировать код самостоятельно.
Medium
Generating Java/Kotlin source files during Android Gradle build.
Android Gradle Plugin generates a number of java source files like BuildConfig.java, binding classes for layout and views. But until the…
#Jetpack #JetpackWeekly #Webkit #Biometric #Security
Jetpack Weekly #11
🎁 Biometric 1.0.0 - backport Biometric API из Android 10
🎁 Annotation-Experimental 1.0.0 - перенос Kotlin
👍 Webkit 1.1.0 - больше безопасности, больше дебага, больше поддержки Kotlin и возможность задавать прокси
Jetpack Weekly #11
🎁 Biometric 1.0.0 - backport Biometric API из Android 10
🎁 Annotation-Experimental 1.0.0 - перенос Kotlin
@Experimental
аннотации в Java при помощи Android Lint👍 Webkit 1.1.0 - больше безопасности, больше дебага, больше поддержки Kotlin и возможность задавать прокси
Medium
Android Jetpack Weekly #11
Experimental annotation, Biometric & Webkit are stable
#View #Lifecycler
The Life Cycle of a View in Android
Всем кто создаёт собственные View обязательно к прочтению!
Жизненный цикл - это не самая простая штука в Android. Не даром сделали целую библиотеку (Lifecycle Arch Component), которая упрощает работу с жизненным циклом. Но жизненный цикл также есть и еще у одного популярного компонента Android - View. В статье подробно разбираются все стадии работы View.
The Life Cycle of a View in Android
Всем кто создаёт собственные View обязательно к прочтению!
Жизненный цикл - это не самая простая штука в Android. Не даром сделали целую библиотеку (Lifecycle Arch Component), которая упрощает работу с жизненным циклом. Но жизненный цикл также есть и еще у одного популярного компонента Android - View. В статье подробно разбираются все стадии работы View.
Medium
The Life Cycle of a View in Android
Explore & get familiarity with the lifecycle of View to create best performance Custom Views
#RecyclerView
The best Android Recycler Adapter you’ve ever seen. Probably
RecyclerView - это замечательно решение, которое сделало большой шаг вперед по сравнению с ListView. Но создание адаптеров никуда не ушло и из коробки не является хорошо масштабируемым решением для поддержки множества типов элементов и повторным использованием их между разными адаптерами.
Поэтому можно найти множество различных библиотек решающих эту проблему. В статье рассматривается решение, довольное простое и изящное, хотя к нему есть пара вопрос и моментов для улучшения.
The best Android Recycler Adapter you’ve ever seen. Probably
RecyclerView - это замечательно решение, которое сделало большой шаг вперед по сравнению с ListView. Но создание адаптеров никуда не ушло и из коробки не является хорошо масштабируемым решением для поддержки множества типов элементов и повторным использованием их между разными адаптерами.
Поэтому можно найти множество различных библиотек решающих эту проблему. В статье рассматривается решение, довольное простое и изящное, хотя к нему есть пара вопрос и моментов для улучшения.
Medium
The best Android Recycler Adapter you’ve ever seen. Probably
Composable, and also the shortest Android Recycler Adapter you could dream of. And I assure you, since you made it only once, you would…
#Meetup #Minsk
Mobile People Open Meetup в Минске
В этот четверг 14 ноября состоится открытый митап сообщества Mobile People в рамках которого я (Кирилл Розов) расскажу о Kotlin Coroutines, а именно Flow и их применение в Android.
Также в программе вас ждет доклад "Android MVVM: как быть с диалогами?"
Буду рад встретиться с вами, обсудить ваши вопросы и услышать отзывы о канале.
Mobile People Open Meetup в Минске
В этот четверг 14 ноября состоится открытый митап сообщества Mobile People в рамках которого я (Кирилл Розов) расскажу о Kotlin Coroutines, а именно Flow и их применение в Android.
Также в программе вас ждет доклад "Android MVVM: как быть с диалогами?"
Буду рад встретиться с вами, обсудить ваши вопросы и услышать отзывы о канале.
wearecommunity.io
Mobile People Open Android meetup | Community platform
Mobile People Open Android meetup. "14 ноября 2019 года" | Community platform | Зарегистрируйся на мероприятие, узнай о программе и спикерах на платформе главных сообществ страны.
#Kotlin #CheatSheet
Для тех кто погружается в Kotlin или не уверен в своих знаниях - вам в помощь будет Cheat Sheet с основными конструкциями языка:
👉 Переменные
👉 Система типов
👉 Control Flow
👉 Коллекции
👉 Функции
👉 Классы
Для тех кто погружается в Kotlin или не уверен в своих знаниях - вам в помощь будет Cheat Sheet с основными конструкциями языка:
👉 Переменные
👉 Система типов
👉 Control Flow
👉 Коллекции
👉 Функции
👉 Классы
#Security #GooglePlayServices #SafetyNet
Security in Android — Cheatsheet
Небольшая статья о безопасности Android приложений, ведь она важна! Статья покрывает базовые вещи как обфускация кода, шифрование данных, проверка устройства на Root. Тем кто кто в этом новичок - рекомендую ознакомиться.
Security in Android — Cheatsheet
Небольшая статья о безопасности Android приложений, ведь она важна! Статья покрывает базовые вещи как обфускация кода, шифрование данных, проверка устройства на Root. Тем кто кто в этом новичок - рекомендую ознакомиться.
Medium
Security in Android — Cheatsheet
Read about security areas like reverse engineering, rooted devices, authentication protocols, lost phones, and encryption.
#Dagger #Factory #Kotlin
Injection into Android Component’s Constructors is real
Что вас огорчает в Kotlin? Меня огорчает костыль в виде
В статье я написал руководство как при помощи Dagger можно реализовать это, а также увеличить производительность вашего кода.
Injection into Android Component’s Constructors is real
Что вас огорчает в Kotlin? Меня огорчает костыль в виде
lateinit
для inject зависимостей. Я считаю, что стоит это сделать по нормальному и доставлять все зависимости при создании в конструктор. Но как это сделать для Activity
или Fragment
, так как все знают правило - "Все компоненты Android должны иметь конструкторы по умолчанию"? В статье я написал руководство как при помощи Dagger можно реализовать это, а также увеличить производительность вашего кода.
Medium
Injection into Android Component’s Constructors is real
How to inject dependencies into Android Components constructors with Dagger 2
#ConstraintLayout #UI
ConstraintLayout Flow: Simple Grid Building Without Nested Layouts
ConstraintLayout 2.0 предоставил возможность virtual helper object, который по сути являются правилами для размещения группы View. Пример такого объекта - Flow. Он позволяет размещать View по сетке, наподобие того как делает Google FlexboxLayout.
В статье разбираются возможности ConstraintLayout Flow и как их реализовать.
ConstraintLayout Flow: Simple Grid Building Without Nested Layouts
ConstraintLayout
- это layout, который предназначен для реализации сложных иерархий View и предоставляет обширные возможности, которые позволяют вам избегать многоуровневой иерархии.ConstraintLayout 2.0 предоставил возможность virtual helper object, который по сути являются правилами для размещения группы View. Пример такого объекта - Flow. Он позволяет размещать View по сетке, наподобие того как делает Google FlexboxLayout.
В статье разбираются возможности ConstraintLayout Flow и как их реализовать.
#Coroutines #Testing
Unit Testing Coroutine Suspend Functions using TestCoroutineDispatcher
Разбор возможностей TestCoroutineDispatcher, который позволяет эффективно выполнять тесты. В его возможности входит:
👉 Вызов функции delay() не приводит к паузе
👉 Возможность приостанавливать выполнение всех Coroutine в этом
👉 Останавливать все Coroutine в рамках
Unit Testing Coroutine Suspend Functions using TestCoroutineDispatcher
Разбор возможностей TestCoroutineDispatcher, который позволяет эффективно выполнять тесты. В его возможности входит:
👉 Вызов функции delay() не приводит к паузе
👉 Возможность приостанавливать выполнение всех Coroutine в этом
CoroutineDispatcher
👉 Останавливать все Coroutine в рамках
CoroutineDispatcher
craigrussell
Unit Testing Coroutine Suspend Functions using TestCoroutineDispatcher
Kotlin coroutines provide an elegant way to write asynchronous code, but sometimes coroutines make it difficult to write unit tests. This post describes how to use TestCoroutineDispatcher to write efficient and stable unit tests for code written with coroutines.
#Hackaton #Minsk #AndroidAcademy
22 ноября состоится хакатон, который завершит второй курс Android Fundamentals от Android Academy Minsk. В рамках хакатона вы можете показать свои навыки программирования, создав за сутки концепт приложения. Любая идея, любая сложность, любой API или SDK для использования.
Основная идея - создавать крутые проекты, писать код, разговаривать, делиться и танцевать! :)
Можно участвовать своей командой, можно участвовать в одиночку. Новичок вы или профи - вы тоже можете принять участие.
Хакатон пройдет с 22 ноября 16:00 до 23 ноября 16:00. Еда, напитки и одеяла будут предоставлены
Все свои вопросы можно задать организаторам в @androidacademyminsk
22 ноября состоится хакатон, который завершит второй курс Android Fundamentals от Android Academy Minsk. В рамках хакатона вы можете показать свои навыки программирования, создав за сутки концепт приложения. Любая идея, любая сложность, любой API или SDK для использования.
Основная идея - создавать крутые проекты, писать код, разговаривать, делиться и танцевать! :)
Можно участвовать своей командой, можно участвовать в одиночку. Новичок вы или профи - вы тоже можете принять участие.
Хакатон пройдет с 22 ноября 16:00 до 23 ноября 16:00. Еда, напитки и одеяла будут предоставлены
Все свои вопросы можно задать организаторам в @androidacademyminsk
#RenderScript #Image
RenderScript - это фреймворк для выполнения сложных вычислений с высокой производительностью.
https://github.com/rumboalla/coolrs - это библиотека, которая предоставляет различные эффекты для изображений
RenderScript - это фреймворк для выполнения сложных вычислений с высокой производительностью.
RenderScript
предназначен для параллельных вычислений, задействуя для этого различные типы процессоров на устройстве: CPU и GPU. Распространенное применения - обработка фотографий или компьютерное зрение.https://github.com/rumboalla/coolrs - это библиотека, которая предоставляет различные эффекты для изображений
GitHub
GitHub - rumboalla/coolrs: CoolRs is a collection of Android Renderscript effects.
CoolRs is a collection of Android Renderscript effects. - rumboalla/coolrs
#Dagger #UnderTheHood
Dagger Android — Behind the Scenes
Самый популярный фреймворк для DI на Android - Dagger 2. Для фан базы создатели этого DI реализовали специальное расширение Dagger - dagger-android. Суть его в том чтобы упростить доставку зависимостей в Android компоненты.
Стало ли это проще? Спорно. Чтобы все это работало надо еще написать кучу кода и добавить отдельный процессор аннотаций.
В статье разбирается как под капотом работает
Dagger Android — Behind the Scenes
Самый популярный фреймворк для DI на Android - Dagger 2. Для фан базы создатели этого DI реализовали специальное расширение Dagger - dagger-android. Суть его в том чтобы упростить доставку зависимостей в Android компоненты.
Стало ли это проще? Спорно. Чтобы все это работало надо еще написать кучу кода и добавить отдельный процессор аннотаций.
В статье разбирается как под капотом работает
dagger-android
и чего стоит его удобствоMedium
Dagger Android — Behind the Scenes
Understanding Dagger 2 itself is already a challenge for many. With Dagger Android, it becomes even more confusing how things works…
#Jetpack
AndroidX Release Notes RSS
Google наконец-то упростила отслеживание обновление в Jetpack/AndroidX и предоставили RSS. C другой стороны каждое обновление вы можете найти в #JetpackWeekly с более подробным описанием.
AndroidX Release Notes RSS
Google наконец-то упростила отслеживание обновление в Jetpack/AndroidX и предоставили RSS. C другой стороны каждое обновление вы можете найти в #JetpackWeekly с более подробным описанием.
#Gradle
Avoiding dependency hell with Gradle 6
Недавно вышедший Gradle 6 значительно расширил возможности по управлению зависимостями и более гибко управлять ими. Например избегать какой либо версии зависимости или использовать только допустимую версию.
Также вся эта информация записывается в специальный файл Gradle Module Metadata и загружается при публикации в репозиторий, так что все сторонние библиотеки также теперь могут использовать всю мощь ограничений и поставлять ее пользователям.
Также была значительно переработана документация по управлению зависимостями.
Avoiding dependency hell with Gradle 6
Недавно вышедший Gradle 6 значительно расширил возможности по управлению зависимостями и более гибко управлять ими. Например избегать какой либо версии зависимости или использовать только допустимую версию.
Также вся эта информация записывается в специальный файл Gradle Module Metadata и загружается при публикации в репозиторий, так что все сторонние библиотеки также теперь могут использовать всю мощь ограничений и поставлять ее пользователям.
Также была значительно переработана документация по управлению зависимостями.
blog.gradle.org
Avoiding dependency hell with Gradle 6
Dependency hell is a big problem for many teams. The larger the project and its dependency graph, the harder it is to maintain it.
The solutions provided by existing dependency management tools are insuffici...
The solutions provided by existing dependency management tools are insuffici...
В прошлом году прошел первый курс SchoolKt. В начале следующего хочется сделать его продолжение. Какой формат вы хотели бы увидеть?
Final Results
4%
Сделать курс "Basic Kotlin" (с нуля)
42%
Сделать курс "Advanced Kotlin"
35%
Сделать курс с упором на Kotlin в Android
9%
Сделать воркошопы по отдельным темам
10%
Не интересует
#GooglePlay
Still Using InstallBroadcast? Switch to the Play Referrer API by March 1, 2020
Google предупреждает всех тех кто отслеживает источник установки приложения из Google Play (рекламный баннер, поиск и пр.) пора отказываться от
Still Using InstallBroadcast? Switch to the Play Referrer API by March 1, 2020
Google предупреждает всех тех кто отслеживает источник установки приложения из Google Play (рекламный баннер, поиск и пр.) пора отказываться от
INSTALL_REFERRER
broadcast и мигрировать на Play Install Referrer Library. Старое API будет отключено 1 марта 2020 годаAndroid Developers Blog
Still Using InstallBroadcast? Switch to the Play Referrer API by March 1, 2020
Posted by Marcus Leal, Product Manager, Google Play Ads How do people find your app? It’s the million-dollar question for any develop...
#Kotlin #Course #Online
Learn Advanced Android Development in Kotlin
Недавно Google представила курс "Advanced Android development in Kotlin". Бесплатный онлайн курс научит вас продвинутым навыкам для разработки Android приложений, используя Kotlin.
Learn Advanced Android Development in Kotlin
Недавно Google представила курс "Advanced Android development in Kotlin". Бесплатный онлайн курс научит вас продвинутым навыкам для разработки Android приложений, используя Kotlin.
YouTube
Learn Advanced Android Development in Kotlin
Advanced Android development in Kotlin, developed by Google together with Udacity, is a free, self-paced online course that teaches advanced skills for building Android apps using the Kotlin programming language.
Take the course → https://goo.gle/2CzDVCk…
Take the course → https://goo.gle/2CzDVCk…
К моей недавней статье "Injection into Android Component’s Constructors is real" сделал замечание разработчик
Он поделился тем что child fragment по умолчанию используют
Fragment
-ов Ian Lake. Он поделился тем что child fragment по умолчанию используют
FragmentFactory
parent fragment. Для FragmentActivity
и Fragment
в ней это не работает 😐Medium
Injection into Android Component’s Constructors is real
How to inject dependencies into Android Components constructors with Dagger 2