Dagger Codegen Cheat Sheet.jpeg
419 KB
#Dagger #CheatSheet
Dagger Codegen Cheatsheet
Для всех кто хочется понять как генерируется код из ваших Dagger Component и Module - смотрите Cheat Sheet
Dagger Codegen Cheatsheet
Для всех кто хочется понять как генерируется код из ваших Dagger Component и Module - смотрите Cheat Sheet
#Testing
Вышел Kakao 2.3.0
Вышла новая версия библиотеки, которая делает тестирование UI с помощью Espresso удобным и Kotlin-friendly. Также библиотека реализует подход “Page Object” и является основой для Kaspresso.
Что нового в библиотеке:
👉
👉
👉
👉 Добавлена поддержка tint в
👉 Обновление зависимостей
👉 Исправление багов и мелкие улучшения
Вышел Kakao 2.3.0
Вышла новая версия библиотеки, которая делает тестирование UI с помощью Espresso удобным и Kotlin-friendly. Также библиотека реализует подход “Page Object” и является основой для Kaspresso.
Что нового в библиотеке:
👉
KViewPager2
- поддержка ViewPager 2👉
KChipGroup
- поддержка ChipGroup
👉
KSpinner
- поддержка Spinner
👉 Добавлена поддержка tint в
KImageView
👉 Обновление зависимостей
👉 Исправление багов и мелкие улучшения
GitHub
Release 2.3.0 release · agoda-com/Kakao
Kotlin updated to 1.3.61
appcompat artifact from AndroidX updated to 1.1.0
recyclerview artifact from AndroidX updated to 1.1.0
swiperefreshlayout artifact from AndroidX has been added at version 1...
appcompat artifact from AndroidX updated to 1.1.0
recyclerview artifact from AndroidX updated to 1.1.0
swiperefreshlayout artifact from AndroidX has been added at version 1...
#UI
Android Styling: Themes Overlay
Продолжение серии статей о возможностях кастомизации UI с помощью стилей в Android. В новой части разбирается темы и как они кастомизируют UI
Android Styling: Themes Overlay
Продолжение серии статей о возможностях кастомизации UI с помощью стилей в Android. В новой части разбирается темы и как они кастомизируют UI
Medium
Android Styling: themes overlay
In previous articles in this series on Android styling, we’ve looked at the difference between styles and themes, talked about the…
#GooglePlay #DynamicFeature
Developing your own Dynamic Feature
Возможности App Bundle не ограничиться только уменьшением размера приложений и опциональной загрузкой ресурсов, но и возможность загружать функционал вашего приложения только по необходимости или для определенных конфигураций устройств.
В статье вы найдёте руководство как реализовать feature модуль и загружать его отложено
Developing your own Dynamic Feature
Возможности App Bundle не ограничиться только уменьшением размера приложений и опциональной загрузкой ресурсов, но и возможность загружать функционал вашего приложения только по необходимости или для определенных конфигураций устройств.
В статье вы найдёте руководство как реализовать feature модуль и загружать его отложено
Medium
Developing your own Dynamic Feature
The Dynamic Feature Module makes it possible to include only the modules that the user really uses, allowing smaller and optimized apps.
#Kotlin #CodeQuality
Detekt 1.6.0
Вышла новая версия утилиты для проверки Kotlin кода на ошибки и стиль. Новая версия не отметилась чем-то значимым в плане новинок и вся работа была направлена на улучшение скорости работы, исправление багов и написание документации.
Появилось одно новое правило - EmptyTryBlock
Detekt 1.6.0
Вышла новая версия утилиты для проверки Kotlin кода на ошибки и стиль. Новая версия не отметилась чем-то значимым в плане новинок и вся работа была направлена на улучшение скорости работы, исправление багов и написание документации.
Появилось одно новое правило - EmptyTryBlock
#Jetpack #Camera
Вышла первая Beta версия CameraX
Новая библиотека в семействе Jetpack - CameraX, выходит на финишную прямую и скоро можно ждать стабильного релиза.
Вышла первая Beta версия CameraX
Новая библиотека в семействе Jetpack - CameraX, выходит на финишную прямую и скоро можно ждать стабильного релиза.
Android Developers
CameraX | Jetpack | Android Developers
Закончился монтаж выпуска подкаста с командой Kotlin Mobile Multiplatform из JetBrains. Остаются последние приготовления и уже завтра вы сможете его послушать, или отложить немного позже и послушать в понедельник под фон работе.
Версия на YouTube будет позже, так как уже сижу в аэропорту и еду в Нижний Новгород, чтобы рассказать почему Kotlin Coroutines - лучший выбор для Android приложений на сегодня.
Версия на YouTube будет позже, так как уже сижу в аэропорту и еду в Нижний Новгород, чтобы рассказать почему Kotlin Coroutines - лучший выбор для Android приложений на сегодня.
#Android #Java10 #JakeWharton
Wormhole
Модификатор байткода, который добавляет будущие API в
Wormhole
Модификатор байткода, который добавляет будущие API в
android.jar
, которые могут работать на все версиях Android с использованием D8 и R8GitHub
GitHub - JakeWharton/wormhole: A time-traveling bytecode rewriter which adds future APIs to android.jar
A time-traveling bytecode rewriter which adds future APIs to android.jar - JakeWharton/wormhole
#Java
Ужасы Set.removeAll
Статья из разряда - "На библиотеки надейся, но сам не плошай". Выяснилось, что
Точно место где происходит ошибка
Ужасы Set.removeAll
Статья из разряда - "На библиотеки надейся, но сам не плошай". Выяснилось, что
Set.removeAll(list)
в определенных случаях может работать за O(N²) 😮Точно место где происходит ошибка
Хабр
Ужасы Set.removeAll
Мы привыкли, что стандартные коллекции в JDK сделаны достаточно хорошо и ведут себя интуитивно-понятно. Но так ли это на самом деле? Вчера Роман Елизаров elizaro...
#Podcast #Kotlin #Multiplatform
Android Broadcast Podcast #8: "Kotlin Mobile Multiplatform"
Mobile имеет огромное значение для Kotlin, причем настолько, что появилась отдельная команда - Kotlin Mobile MultiPlatform. Они сделали свой сайт и двигаются только вперед, чтобы показать Flutter и React Native, как шарить код правильно! Упустить шанс сейчас нельзя, и я позвал в гости представителей команды: Анастасию Капанину и Кирилла Шмакова.
Мы обсудили множество тем:
- Kotlin MPP vs Flutter
- Большие компании, которые уже используют Kotlin MPP
- Что можно сделать с Kotlin MPP, но не получится с Flutter или ReactNative
- Как продавать Kotlin MPP iOS команде
- Когда Jetpack Compose станет Multiplatform?
- Как Kotlin/Native сейчас тормозит MPP
- Плагины для Kotlin компилятора
- Kotlin Mobile MPP плагин для Android Studio
- Что Kotlin 1.4 принесёт для Multiplatform разработки?
- Какие библиотеки с поддержкой Kotlin MPP нам ждать в этом году
Android Broadcast Podcast #8: "Kotlin Mobile Multiplatform"
Mobile имеет огромное значение для Kotlin, причем настолько, что появилась отдельная команда - Kotlin Mobile MultiPlatform. Они сделали свой сайт и двигаются только вперед, чтобы показать Flutter и React Native, как шарить код правильно! Упустить шанс сейчас нельзя, и я позвал в гости представителей команды: Анастасию Капанину и Кирилла Шмакова.
Мы обсудили множество тем:
- Kotlin MPP vs Flutter
- Большие компании, которые уже используют Kotlin MPP
- Что можно сделать с Kotlin MPP, но не получится с Flutter или ReactNative
- Как продавать Kotlin MPP iOS команде
- Когда Jetpack Compose станет Multiplatform?
- Как Kotlin/Native сейчас тормозит MPP
- Плагины для Kotlin компилятора
- Kotlin Mobile MPP плагин для Android Studio
- Что Kotlin 1.4 принесёт для Multiplatform разработки?
- Какие библиотеки с поддержкой Kotlin MPP нам ждать в этом году
#Security #Biometric
Using BiometricPrompt with CryptoObject: How and Why
Практически все современные смартфоны имеют встроенные сканеры отпечатка пальца и распознавание лица. Последнее не у всех реализовано хорошо, но что имеем. Наличие таких сканеров позволяет нам шифровать данные, используя уникальный пользовательский ключ - отпечаток пальца или лицо.
В статье разбирается как в Android связать системный KeyStore и биометрическую авторизацию.
Using BiometricPrompt with CryptoObject: How and Why
Практически все современные смартфоны имеют встроенные сканеры отпечатка пальца и распознавание лица. Последнее не у всех реализовано хорошо, но что имеем. Наличие таких сканеров позволяет нам шифровать данные, используя уникальный пользовательский ключ - отпечаток пальца или лицо.
В статье разбирается как в Android связать системный KeyStore и биометрическую авторизацию.
Medium
Using BiometricPrompt with CryptoObject: how and why
Biometrics and Cryptography are not the same thing. They are in fact completely independent of each other:
Есть ли у вас в коде свой класс BaseFragment? BaseActivity/BaseService/BaseBroadcastReceiver тоже считаются
Final Results
84%
Да
7%
Нет
4%
Только в Legacy
1%
Не знаю
3%
Не скажу, ведь это сверхсекретно
#Database #SQLite #NoSQL
Mobile Databases in Android
Сравнение разных БД, которые вы можете использовать на Android. Также вы найдете описание того, почему мобильная БД важна.
Для тех кто хочет увидеть только таблицу сравнения, то смотрите здесь
Mobile Databases in Android
Сравнение разных БД, которые вы можете использовать на Android. Также вы найдете описание того, почему мобильная БД важна.
Для тех кто хочет увидеть только таблицу сравнения, то смотрите здесь
Medium
Mobile Databases in Android.
Distribution of power and information among local governments…
#Jetpack #ArchitectureComponents #Lifecycle
Optimizing Android ViewModel with Lifecycle 2.2.0
Обзор последних возможностей библиотек Lifecycle (LiveData, ViewMode, Lifecycle), ktx расширений и лучших практик:
👉 Делегаты ViewModel
👉 Почему не стоит использовать AndroidViewModel
👉 Какие данные не стоит передавать в ViewModel
👉 Сохранение данных ViewModel
Optimizing Android ViewModel with Lifecycle 2.2.0
Обзор последних возможностей библиотек Lifecycle (LiveData, ViewMode, Lifecycle), ktx расширений и лучших практик:
👉 Делегаты ViewModel
👉 Почему не стоит использовать AndroidViewModel
👉 Какие данные не стоит передавать в ViewModel
👉 Сохранение данных ViewModel
Medium
Optimizing Android ViewModel with Lifecycle 2.2.0
Initialization, passing arguments, and saved state
#KotlinVocabulary #Kotlin #AndroidDev
Collections and sequences - Kotlin Vocabulary (5:17)
Google решила что вместо создания нового контента, лучше снять видео на свою старую статью
Collections and sequences - Kotlin Vocabulary (5:17)
Google решила что вместо создания нового контента, лучше снять видео на свою старую статью
Say no to BaseActivity and BaseFragment
Раньше нам приходилось переопределять методы жизненного цикла в Activity и Fragment, создавать базовые классы на их основе, чтобы не дублировать код.
Но Android ушел дальше и вы можете заменить их с помощью
Раньше нам приходилось переопределять методы жизненного цикла в Activity и Fragment, создавать базовые классы на их основе, чтобы не дублировать код.
Но Android ушел дальше и вы можете заменить их с помощью
ActivityLifecycleCallbacks
и FragmentLifecycleCallbacks
. Также можете обратить внимание на Lifecycle
Medium
Say no to BaseActivity and BaseFragment
Many apps face a similar challenge. Where do we put common logic for all of our screens? A base class is often the solution, but it can…
#Kotlin
Вышел Kotlin 1.3.70
Вышла новая версия Kotlin. Не 1.4, но тоже сладко:
👉 Расширена функциональность
👉 Часть функционала в
👉 Аннотации
👉
👉 Добавлена kotlin.collections.ArrayDeque
👉 Collection Builders:
👉 Новые функции для коллекций:
👉 Возможно генерации аннотаций типов в байткода для target 1.8+
👉 Улучшение поддержке *.gradle.kts
👉 Улучшение отладчика
👉 Улучшение Kotlin скриптов и примеры
Вышел Kotlin 1.3.70
Вышла новая версия Kotlin. Не 1.4, но тоже сладко:
👉 Расширена функциональность
StringBuilder
, но на JVM не почувствуете, так как сделали перенос функционала с JVM в Common👉 Часть функционала в
KClass
теперь не требует зависимости kotlin-reflect
👉 Аннотации
Experimental
и UseExperimental
переименованы в OptIn
и RequiresOptIn
👉
Clock
и ClockMark
переименованы в TimeSource
и TimeMark
👉 Добавлена kotlin.collections.ArrayDeque
👉 Collection Builders:
buildList()
, buildSet()
и buildMap()
👉 Новые функции для коллекций:
scan()
, scanReduce()
👉 Возможно генерации аннотаций типов в байткода для target 1.8+
👉 Улучшение поддержке *.gradle.kts
👉 Улучшение отладчика
👉 Улучшение Kotlin скриптов и примеры
#GoogleIO
Google I/O 2020 отменён
В этом году конференции Google I/O не будет. Точнее в привычном формате для горстки избранных, кто смог получить туда билет. В этом раз вся конференция будет только онлайн. Причиной всему китайский коронавирус.
Также было объявлено об отмене конференции Microsoft MVP Summit. Интересно отменят ли Kotlin Conf в сентября?
Как по мне, то даже лучше. Спикер будет говорить прямо в камеру и показ слайдов заточен будет под онлайн формат.
Google I/O 2020 отменён
В этом году конференции Google I/O не будет. Точнее в привычном формате для горстки избранных, кто смог получить туда билет. В этом раз вся конференция будет только онлайн. Причиной всему китайский коронавирус.
Также было объявлено об отмене конференции Microsoft MVP Summit. Интересно отменят ли Kotlin Conf в сентября?
Как по мне, то даже лучше. Спикер будет говорить прямо в камеру и показ слайдов заточен будет под онлайн формат.
#AppBundle #DynamicFeature
Local development and testing with on-demand modules
Возможность загрузки модулей вашего приложения динамически - прекрасная возможность Google Play, но тестировать ее можно было только через публикацию App Bundle через Google Play Console ☹️.
В утилите bundletool 0.13.0 появилась возможность тестировать эту фичу локально. Все подробности в статье
Local development and testing with on-demand modules
Возможность загрузки модулей вашего приложения динамически - прекрасная возможность Google Play, но тестировать ее можно было только через публикацию App Bundle через Google Play Console ☹️.
В утилите bundletool 0.13.0 появилась возможность тестировать эту фичу локально. Все подробности в статье
Medium
Local development and testing with on-demand modules
New releases of Bundletool and the Play Core library made local iteration faster and testing possible with on-demand dynamic feature…
#UI
How to implement skeletons and shimmering effects on layouts and recyclerViews for Android
Вместо того чтобы показывать прогресс посередине экрана или вообще ничего (надеюсь так не делаете) можно рассмотреть модный вариант - skeleton + анимация с эффектом Шиммера.
Это похоже на то что у нас отображается примерный контент, но все данные пустые и заполняются когда загружаются.
В статье разбирается как это реализовать при помощи библиотеки AndroidVeil
How to implement skeletons and shimmering effects on layouts and recyclerViews for Android
Вместо того чтобы показывать прогресс посередине экрана или вообще ничего (надеюсь так не делаете) можно рассмотреть модный вариант - skeleton + анимация с эффектом Шиммера.
Это похоже на то что у нас отображается примерный контент, но все данные пустые и заполняются когда загружаются.
В статье разбирается как это реализовать при помощи библиотеки AndroidVeil
Medium
How to implement veil skeletons and shimmering effects to your layouts and recyclerView on Android.
W e should load much of the data from the network or external/internal storage from devices. It is best if there is no delay to get data…