#Dagger #Multibindings
Dagger 2 Multibindings Illustrated
Dagger 2 имеет множество возможностей, хотя множество разработчиков используют его по простому сценарию: "1 модуль. 1 компонент. @Inject. AppComponent.inject(...)". Но в Dagger есть много интересного функционала. Например, Multibinding, который позволяет вам объединять зависимости одного типа из разных модулей и компонентов в
Когда это может пригодиться? Когда у вас есть обработчики для создания элементов по типу элементов. Это эффективно можно применить для выполнения доставки зависимостей в конструктор
1. Предоставляете способ создания
2. Из Dagger вы можете получить
Код получается гибким и хорошо расширяемым. А значит мы и улучшили нашу архитектуру
В статье вы найдете руководство как использовать эту возможность библиотеки и делать архитектуру ваших приложений более гибкой.
Dagger 2 Multibindings Illustrated
Dagger 2 имеет множество возможностей, хотя множество разработчиков используют его по простому сценарию: "1 модуль. 1 компонент. @Inject. AppComponent.inject(...)". Но в Dagger есть много интересного функционала. Например, Multibinding, который позволяет вам объединять зависимости одного типа из разных модулей и компонентов в
Set
или Map
.Когда это может пригодиться? Когда у вас есть обработчики для создания элементов по типу элементов. Это эффективно можно применить для выполнения доставки зависимостей в конструктор
Fragment
(поддерживается в androidx.fragment 1.1.0):1. Предоставляете способ создания
Fragment
в Dagger модуле2. Из Dagger вы можете получить
Map<Class<Fragment>, Provider<Fragment>>
Код получается гибким и хорошо расширяемым. А значит мы и улучшили нашу архитектуру
В статье вы найдете руководство как использовать эту возможность библиотеки и делать архитектуру ваших приложений более гибкой.
Medium
Dagger 2 Multibindings Illustrated
Dagger 2 has a multibindings capability. It is a powerful feature package dependencies into SET and MAP automatically.
Используете ли вы Dagger 2 Multibinding?
Anonymous Poll
21%
Да
10%
Знаю, но не использую
28%
Не знал/знала что это такое
20%
Нет
21%
Использую другой DI
#FBReader
Пишем читалку электронных книг на Android с помощью FBReader SDK
EPUB, FB2 и MOBI - это самые популярные форматы для распространения электронных книг. Для решения задачи интеграции отображения таких файлов можно воспользоваться FBReader SDK.
Библиотека имеет множество возможностей:
👉 Открытие множество файлов электронных книг
👉 Чтение метаданных из файла книги
👉 Особенности движка FBReader
👉 Возможность менять стиль текста книги и яркость
👉 Выделение текста
👉 Закладки
👉 Поиск по тексту
👉 Оглавление
👉 Дополнительная навигация по тексту
👉 Поддержка сносок и гиперссылок
Библиотека платная. В бесплатном режиме можно отображать только несколько первых страниц. Подробнее о ценах.
Пишем читалку электронных книг на Android с помощью FBReader SDK
EPUB, FB2 и MOBI - это самые популярные форматы для распространения электронных книг. Для решения задачи интеграции отображения таких файлов можно воспользоваться FBReader SDK.
Библиотека имеет множество возможностей:
👉 Открытие множество файлов электронных книг
👉 Чтение метаданных из файла книги
👉 Особенности движка FBReader
👉 Возможность менять стиль текста книги и яркость
👉 Выделение текста
👉 Закладки
👉 Поиск по тексту
👉 Оглавление
👉 Дополнительная навигация по тексту
👉 Поддержка сносок и гиперссылок
Библиотека платная. В бесплатном режиме можно отображать только несколько первых страниц. Подробнее о ценах.
#IntelijIDEA #Gradle #Maven
Introducing Package Search EAP
Каким образом вы ищете библиотеки для решения задач в ваших приложения? Для меня пути 3:
👉 Google (90%)
👉 официальные гайды (5%)
👉 рекомендации от знакомых или из докладов (5%)
Использование поисковиков может порой занять больше времени, чем ожидалось, но и самые простые сценарии поиска занимают время на добавление библиотеки.
Чтобы решить эту проблему JetBrains выпустили плагин для IntelijIDEA - Package Search. Он позволяет находить библиотеки и ключевые ссылки к ним: исходный код, обсуждения на StackOverflow и др.
Также есть функционал для автодополнения при добавление зависимостей в Gradle и Maven, а для любителей Kotlin плагин подскажет какую минимальную версию языка требует библиотека и какие платформы поддерживаются, если библиотека мультиплатформенная.
Уже запланировано множество нового функционала на будущим релизы.
Introducing Package Search EAP
Каким образом вы ищете библиотеки для решения задач в ваших приложения? Для меня пути 3:
👉 Google (90%)
👉 официальные гайды (5%)
👉 рекомендации от знакомых или из докладов (5%)
Использование поисковиков может порой занять больше времени, чем ожидалось, но и самые простые сценарии поиска занимают время на добавление библиотеки.
Чтобы решить эту проблему JetBrains выпустили плагин для IntelijIDEA - Package Search. Он позволяет находить библиотеки и ключевые ссылки к ним: исходный код, обсуждения на StackOverflow и др.
Также есть функционал для автодополнения при добавление зависимостей в Gradle и Maven, а для любителей Kotlin плагин подскажет какую минимальную версию языка требует библиотека и какие платформы поддерживаются, если библиотека мультиплатформенная.
Уже запланировано множество нового функционала на будущим релизы.
JetBrains Marketplace
[DEPRECATED] Package Search - IntelliJ IDEs Plugin | Marketplace
Plugin Deprecation Timeline Version for IntelliJ IDEA 2024.3: is the last functional version of the plugin. There will be no version for IntelliJ IDEA 2025.1 or...
#Security #SharedPreference
Encrypted Preferences in Android
Encrypted Preferences in Android
androidx.security
в активной разработке, частью которая являются возможность использования зашифрованных SharedPreference
. В статье разбирается как работать с EncryptedSharedPreferences
и сравнивается производительность с обычными настройками.Medium
Encrypted Preferences in Android
EncryptedSharedPreferences usage and caveats
#DependencyInjection #Dagger
Вышел Dagger 2.25
Вышла новая версия популярного DI фреймворка. В новой версии не произошло значимых изменений были сделаны следующие улучшения:
👉 Поддержка Kotlin: для модулей, которые являются
👉 Исправление багов
👉 Улучшение производительности
Посмотрел историю последних релизов. Dagger уже давно не показывал новых фич и задумался: "Dagger уже стал идеальным либо иссякли идеи у создателей?"
Вышел Dagger 2.25
Вышла новая версия популярного DI фреймворка. В новой версии не произошло значимых изменений были сделаны следующие улучшения:
👉 Поддержка Kotlin: для модулей, которые являются
object
, больше не надо помечать каждый метод как @JvmStatic
и квалификаторы теперь можно добавлять аннотациями на property👉 Исправление багов
👉 Улучшение производительности
Посмотрел историю последних релизов. Dagger уже давно не показывал новых фич и задумался: "Dagger уже стал идеальным либо иссякли идеи у создателей?"
#AndroidDevSummit #AndroidStudio #MotionLayout #JetpackCompose
Прошел Keynote Android Dev Summit 2019. Быстро пройдемся по анонсам:
👉 Android Studio 4.0 Canary 1
👉 Jetpack Compose можно использовать из Android Studio (AS)
👉 Для Jetpack Compose теперь работает предпросмотр (правда нужно компилить код)
👉 Визуальный редактор для анимаций на основе MotionLayout уже можно использовать из новой AS
👉 Поддержка Gradle Kotlin Script в AS
👉 CameraX уже в Beta
👉 Большой обновление библиотек из Jetpack
👉 Сертификация "Associate Android Developer: Kotlin"
Ставлю что стабильный релиз AS 4.0 будет в апреле-мае следующего года, без стабильного Jetpack Compose
Будет больше новостей в ближайшие дни и обзоры обновлений!
Прошел Keynote Android Dev Summit 2019. Быстро пройдемся по анонсам:
👉 Android Studio 4.0 Canary 1
👉 Jetpack Compose можно использовать из Android Studio (AS)
👉 Для Jetpack Compose теперь работает предпросмотр (правда нужно компилить код)
👉 Визуальный редактор для анимаций на основе MotionLayout уже можно использовать из новой AS
👉 Поддержка Gradle Kotlin Script в AS
👉 CameraX уже в Beta
👉 Большой обновление библиотек из Jetpack
👉 Сертификация "Associate Android Developer: Kotlin"
Ставлю что стабильный релиз AS 4.0 будет в апреле-мае следующего года, без стабильного Jetpack Compose
Будет больше новостей в ближайшие дни и обзоры обновлений!
Android Developers
Android Dev Summit | Android Developers
Android Dev Summit 2022
#AndroidDeveloperChallenge
Android Developer Challenge: helpful innovation, powered by On-Device Machine Learning + you!
Google вновь взывает к разработчикам делится идеями, чтобы компания смогла помочь вам сделать их лучше. Первой темой в которой ищут идеи стало машинное обучение на устройстве.
10 лучших разработчиков получат помощь, экспертизу и обучение, фичиринг на Google Play, билет на Google I/0 2020 и пиар
Android Developer Challenge: helpful innovation, powered by On-Device Machine Learning + you!
Google вновь взывает к разработчикам делится идеями, чтобы компания смогла помочь вам сделать их лучше. Первой темой в которой ищут идеи стало машинное обучение на устройстве.
10 лучших разработчиков получат помощь, экспертизу и обучение, фичиринг на Google Play, билет на Google I/0 2020 и пиар
Android Developers Blog
Android Developer Challenge: helpful innovation, powered by On-Device Machine Learning + you!
News and insights on the Android platform, developer tools, and events.
#DontKillMyApp
Победи проблемы на устройстве каждого производителя с помощью сайта Don't kill my app! Больше подробностей ➡️ здесь
Победи проблемы на устройстве каждого производителя с помощью сайта Don't kill my app! Больше подробностей ➡️ здесь
Telegraph
Don't kill my app!
Представьте ситуацию: вы написали приложение, спустя долгие месяцы, его протестировали, все довольны. Вы заливаете его на Google Play. И тут начинаются сыпаться баги, которые вы не можете понять почему происходят. Виной всему вендоры, которые хотят сделать…
#AndroidDevSummit
По итогам Android Dev Summit буду делать обзор:
👉 новинки: Jetpack Compose, Android Studio 4.0, Motion Editor, Kotlin + Android, Android 11, Scoped Storage и пр
👉 высказывать своё мнение
👉 и конечно ванговать о будущем
Буду пробовать новый формат - 📺 видео на канале в YouTube.
Все те кто смог побывать лично на этой конференции - буду рад с вами пообщаться как для сбора материала или для участия в обзоре. Пишите мне в личку @krlrozov
По итогам Android Dev Summit буду делать обзор:
👉 новинки: Jetpack Compose, Android Studio 4.0, Motion Editor, Kotlin + Android, Android 11, Scoped Storage и пр
👉 высказывать своё мнение
👉 и конечно ванговать о будущем
Буду пробовать новый формат - 📺 видео на канале в YouTube.
Все те кто смог побывать лично на этой конференции - буду рад с вами пообщаться как для сбора материала или для участия в обзоре. Пишите мне в личку @krlrozov
#Kotlin #BestPractices
Дмитрий Жемеров — Идиоматичный Kotlin от форматирования до DSL
Насколько полностью вы используете возможности Kotlin? Насколько правильно вы это делаете? Может есть путь, который рекомендуют создатели? Да, он есть в первую очередь это Kotlin Coding Conventions и доклад от Дмитрия Жемерова.
Дмитрий Жемеров - это старожила JetBrains. Он участвовал в разработке многих проектов компании, включая Kotlin. Заглавное фото с маяком - его работа. Соавтор книги «Kotlin in Action».
Дмитрий Жемеров — Идиоматичный Kotlin от форматирования до DSL
Насколько полностью вы используете возможности Kotlin? Насколько правильно вы это делаете? Может есть путь, который рекомендуют создатели? Да, он есть в первую очередь это Kotlin Coding Conventions и доклад от Дмитрия Жемерова.
Дмитрий Жемеров - это старожила JetBrains. Он участвовал в разработке многих проектов компании, включая Kotlin. Заглавное фото с маяком - его работа. Соавтор книги «Kotlin in Action».
YouTube
Дмитрий Жемеров — Идиоматичный Kotlin от форматирования до DSL
Ближайшая конференция — JPoint 2025, 3–4 апреля (Москва + трансляция).
Подробности и билеты: https://jrg.su/T2zfbS
— —
. . . . Начать пользоваться Kotlin несложно — он похож на Java, и ваш существующий опыт легко позволит вам начать программировать в стиле…
Подробности и билеты: https://jrg.su/T2zfbS
— —
. . . . Начать пользоваться Kotlin несложно — он похож на Java, и ваш существующий опыт легко позволит вам начать программировать в стиле…
#DependencyInjection #Dagger #Jetpack
Появилось официальное руководство по Dependency Injection в Android, а также важные новости:
👉 Dagger - официальная рекомендация как DI для Android приложения
👉 Используйте Dagger для больших приложений (8+ экранов)
👉 В Google работают над сокращение кода для работы с Dagger
Больше подробностей читайте в статье
Появилось официальное руководство по Dependency Injection в Android, а также важные новости:
👉 Dagger - официальная рекомендация как DI для Android приложения
👉 Используйте Dagger для больших приложений (8+ экранов)
👉 В Google работают над сокращение кода для работы с Dagger
Больше подробностей читайте в статье
Telegraph
Официальное руководство по Dependency Injection в Android
Официальное руководство по Dependency Injection появилось на developers.android.com. В рамках руководства рассматривается: Что такое DI Альтернативы DI Dependency injection своими руками Dagger 2 Многомодульность c Dagger 2 Лучшие практики Если раньше Dagger…
#R8 #ProGuard
Comparison of ProGuard vs. R8: October 2019 edition
Proguard уходит из Android. Уже начиная с Android Gradle Plugin 3.4.0 по умолчанию используется R8. Смогла ли Google сделать продукт лучше? Однозначно сказать нельзя. Что-то лучше в R8, что-то в ProGuard, а что-то ProGuard уже скопировал у R8 😁
Разработчики ProGuard уже проводили сравнение, но решили это сделать повторно т.к. R8 развивается быстро. Новое сравнение предназначено для продвижение, но позволяет понять отдельные детали.
Comparison of ProGuard vs. R8: October 2019 edition
Proguard уходит из Android. Уже начиная с Android Gradle Plugin 3.4.0 по умолчанию используется R8. Смогла ли Google сделать продукт лучше? Однозначно сказать нельзя. Что-то лучше в R8, что-то в ProGuard, а что-то ProGuard уже скопировал у R8 😁
Разработчики ProGuard уже проводили сравнение, но решили это сделать повторно т.к. R8 развивается быстро. Новое сравнение предназначено для продвижение, но позволяет понять отдельные детали.
Guardsquare
Comparison of ProGuard vs. R8 | Guardsquare
This comparison of ProGuard vs. R8 gives a detailed, technical look at these popular Android optimizer tools for app developers. Read on to learn more.
#AndroidX #JetpackWeekly #Coroutines #Benchmark
Android Jetpack Weekly #10
Android Dev Summit принес большое обновление
🔥Улучшена поддержка Kotlin Coroutines в Lifecycle и LiveData
🔥Сохранение состояния в ViewModel
🎁ViewPager 2 RC - новый ViewPager на основе RecyclerView
🎁Android Benchmark RC - теперь можно писать тесты под Android правильно
🚀 Улучшенные анимации
Android Jetpack Weekly #10
Android Dev Summit принес большое обновление
🔥Улучшена поддержка Kotlin Coroutines в Lifecycle и LiveData
🔥Сохранение состояния в ViewModel
🎁ViewPager 2 RC - новый ViewPager на основе RecyclerView
🎁Android Benchmark RC - теперь можно писать тесты под Android правильно
🚀 Улучшенные анимации
Medium
Android Jetpack Weekly #10
Android Dev Summit: many RCs of next major update from Jetpack.
#Emulator #HyperV
Android Emulator Hypervisor Driver for AMD Processors - Canary SDK Package
Для всех те кто использует Android эмулятор, знают наверняка, что лучше иметь процессор от Intel, так как на нём есть аппаратное ускорение для x86. Но почему были обделены процессоры AMD ?
Теперь это решено и технология Hyper-V поддерживается в Windows 10. Хотите попробовать - смотрите руководство по установке.
Android Emulator Hypervisor Driver for AMD Processors - Canary SDK Package
Для всех те кто использует Android эмулятор, знают наверняка, что лучше иметь процессор от Intel, так как на нём есть аппаратное ускорение для x86. Но почему были обделены процессоры AMD ?
Теперь это решено и технология Hyper-V поддерживается в Windows 10. Хотите попробовать - смотрите руководство по установке.
Android Studio Release Updates
Android Emulator Hypervisor Driver for AMD Processors - Canary SDK Package, Install Instructions
Android Emulator Hypervisor Driver for AMD Processors is now available for download via SDK Manager in the Canary channel. This is meant ...
На чем вы пишете под Android?
Final Results
49%
macOS
28%
Windows + Intel
4%
Windows + AMD
17%
Linux
1%
Chrome OS
1%
Не пишу код
#WebView #AndroidX
Google решила напомнить о библиотеки AndroidX Webkit, которая портирует возможности WebView с более новых версий Android на старые (5.0+). Смотрите быстрый обзор в коротком видео
Google решила напомнить о библиотеки AndroidX Webkit, которая портирует возможности WebView с более новых версий Android на старые (5.0+). Смотрите быстрый обзор в коротком видео
#ArhitectureComponents #LiveData
When NOT to Use LiveData
Android Architecture Components - это популярное решение. Одна из его самых популярных частей - LiveData. Ее поддерживает множество библиотек и позволяет вам получать данные с помощью нее.
Но всегда ли стоит использовать ее? Хорошее решение ли это для слоя данных и бизнес логики? В статье рассматривается когда не стоит использовать LiveData:
1️⃣ В вашем приложение испольуются потоки данных и вам нужно обрабатывать ошибки, backpressure и пр.
2️⃣ Не хватает операторов (спорный случай, так как есть сторонние библиотеки)
3️⃣ У вас нет взаимодействия с данными из UI
4️⃣ У вас одноразовая асинхронная операция (опять же спорно, так как с
5️⃣ Вам не нужно сохранять данные в UI
When NOT to Use LiveData
Android Architecture Components - это популярное решение. Одна из его самых популярных частей - LiveData. Ее поддерживает множество библиотек и позволяет вам получать данные с помощью нее.
Но всегда ли стоит использовать ее? Хорошее решение ли это для слоя данных и бизнес логики? В статье рассматривается когда не стоит использовать LiveData:
1️⃣ В вашем приложение испольуются потоки данных и вам нужно обрабатывать ошибки, backpressure и пр.
2️⃣ Не хватает операторов (спорный случай, так как есть сторонние библиотеки)
3️⃣ У вас нет взаимодействия с данными из UI
4️⃣ У вас одноразовая асинхронная операция (опять же спорно, так как с
LiveData
удобно доставить результат и получить ее обновления, которое запрашивается пользователем в UI)5️⃣ Вам не нужно сохранять данные в UI
Medium
When NOT to Use LiveData
Let’s dive into the cases of using LiveData not to its purpose and creating limitations to the scalability in your project through this…
#Library #Security #Network
Certificate Transparency for Android
Хотите сделать защиту сетевого слоя более надежной и обезопасить от себя атак от "man-in-the-middle" ? Тогда вы можете использовать библиотеку, которая позволит вам реализовать Certificate Transparency, которая позволяет определить, что SSL сертификат не был подменен злоумышленником.
Библиотека поддерживает OkHttp, Volley, HttpURLConnection
Certificate Transparency for Android
Хотите сделать защиту сетевого слоя более надежной и обезопасить от себя атак от "man-in-the-middle" ? Тогда вы можете использовать библиотеку, которая позволит вам реализовать Certificate Transparency, которая позволяет определить, что SSL сертификат не был подменен злоумышленником.
Библиотека поддерживает OkHttp, Volley, HttpURLConnection
GitHub
GitHub - babylonhealth/certificate-transparency-android: Certificate transparency for Android and Java
Certificate transparency for Android and Java. Contribute to babylonhealth/certificate-transparency-android development by creating an account on GitHub.