Сразу после того как отгремит праздник 8 марта Android Academy Minsk собирает всех для обсуждения Dependency Injection в проектах. В планах рассказать вам что такое Dependency Injection и рассказать о ней на примере Dagger 2
In this version: 🚀 Исправление багов и улучшение производительности ⚒️ Улучшения Scope API 🤖 Поддержка создания Fragment через Koin на основе FragmentFactory 🤖 Поддержка State ViewModel 🚒 Улучшения в API для тестов 🎁 Gradle plugin для проверки модулей (пока умеет не так много) 🎉 Много исправлений
Сейчас разработчик Koin активно работает над поддержкой Multiplatform
Android Studio 3.6 release introduces a split code/design editor view, ViewBinding, Apply Changes improvements, NDK updates, an upgrade to the emulator locat...
Вышла новая стабильная версия основного инструмента Android разработчика и она привнесла следующие улучшения: 👉 SplitView вместо Layout Preview (по мне стало хуже) 👉ViewBinding 👉 Обнаружение утечек памяти в Memory Profiler (зачем? есть же LeakCanary) 👉 Color Picker 👉Idea 2019.2 👉 Улучшения в “Apply Changes” 👉 Интеграция Android Gradle Plugin с Maven Publishing Plugin 👉 R класс теперь генерирует сразу байткод вместо Java кода, это ускоряет kapt и инкрементальную сборку 👉Новая утилита для запаковки APK. По умолчанию используется для дебажных сборок
Изменений много и всех их не перечислить, но вы можете ознакомиться с ними в полном обзоре
Обзор изменений системы разрешений в первой Developer Preview Android 11: 👉 One-time permission 👉 Механизм получения/отзыва приложения one-time permission 👉 Изменения в механизме отзыва permission 👉 Изменения в процессе получения разрешения на доступ к местоположению в фоне - теперь это делается через настройки в системе, а не диалог
Чтобы упростить жизнь разработчикам нативных библиотек Google внедряет возможность подключения нативных зависимостей аналогично тому как это делается с AAR.
Функционал пока экспериментальный и требует включения специальных флагов.
Особенности работы и как опубликовать свою библиотеку вы найдёте в статье
Выбор Dependency Injection (DI) для вашего проекта важный вопрос, так как поменять его в будущем может быть непростой задачей. Сравнение популярных JVM DI: Dagger 2, Koin, Toothpick, Kodein
Мой личный выбор - Koin. Хотите узнать больше аргументов моего выбора - выбирайте 🎥 и если будет 20+ я сделаю видео разбор преимуществ, благодаря которым я выбрал Koin, и недостатков, которые меня волнуют при росте проекта.
В Android 11 нас ждет введение Scoped Storage, отложенный в предыдущей версии, в боевой режим.
Какие изменения произошли: 👉 Не для всех приложение нужно адаптировать ScopedStorage, а только у тех кого targetSdk будет Android 11 или выше 👉 Возможность выполнения операций со множеством файлов (batch) 👉 “All Files Access” - возможность получения доступа ко всем файлам приложением. Это предназначено для файловых менеджеров
Возможности библиотеки: 👉 Переключение языков на лету 👉 Автоматическая настройка при запуске Activity 👉 Сохранение выбранного языка при перезапуске приложения 👉 Простота использования (по заверениям автора)
Следующая версия Kotlin (1.3.70) привнесёт значительные улучшения в работу Gradle Kotlin DSL и работе всего этого в IDE. Этого удалось достичь обновлённому механизму взаимодействия с Gradle Daemon.
Важно - вам потребуется Gradle 6.0+ и IDEA 2019.2+ (Android Studio 3.6+)
На текущих результатах команда Kotlin не останавливается и продолжит развивать Gradle Kotlin DSL. Нас ждет улучшения в уведомлениях об ошибках, явная загрузка обновлённой конфигурации скриптов и др.
После покупки Fabric компанией Google и интеграции сервисов в Firebase переход подзатянулся. 31 марта Fabric отключают, а мы все еще не может уйти от старых зависимостей и Maven репозиториев.
Все меняется сегодня. Встречайте Firebase Crashlytics SDK. Теперь можно отказаться от зависимостей Fabric. Полное руководство по миграции здесь. Найти исходники SDK вы можете здесь.
Google Play вводит новые политики касательно размещения приложений, которые используют доступ к местоположению в фоне.
Каждое приложение которое хочет использовать местоположение в фоне, теперь будет проверяться на соответствие следующие требования: 👉 Предоставляет ли функция явную ценность для пользователя? 👉 Ожидают ли пользователи что ваше приложение будет осуществлять доступ к местоположению в фоне? 👉 Является ли функция основной для вашего приложения? 👉 Можете ли вы реализовать тот же пользовательский опыт без доступа к местоположению в фоне?
График вступления изменений в силу: 👉 Апрель 2020: обновление политик 👉Май 2020: разработчики могут запросить проверку своего приложение через Google Play Console (до 2 недель) ⚠️ 3 Августа 2020: Все новые приложения, осуществляющие доступ к местоположению, которые будут публиковать в Google Play должны получить одобрение ‼️ 2 ноября 2020: Все приложения которые получают доступ к местоположению должны быть одобрены либо будут удалены из Google Play
Новая превью стала впервые доступна так рано, чтобы получить больше обратной связи от разработчиков! Что в первой сборке: 👉Поддержка загнутых экранов и экранов с дырками (под камеры) 👉Улучшения для работы с 5G 👉 Отдельная секция в панели уведомлений для чатиков 👉Bubbles API теперь будут заставлять использовать для мессенджеров 👉 Поддержка картинок в ответах через уведомления 👉Neural Networks API 1.3 👉One-time permission - выдавайте разрешения только пока пользователь не покинет приложение 👉 Улучшения в Scoped storage ведь в 11 версии он уже будет включен для всех 👉Biometric - поддержка разных уровней верификации и улучшения в архитектуре API 👉Возможность шаринга blob в файлово системе с помощьюBlobstoreManager 👉Identity credentials 👉Упрощение тестирования и дебагинга 👉 Больше API теперь под запретом для вызова 👉Динамическая загрузка ресурсов
Список изменений уже довольно большой и ознакомиться с ним вы можете по ссылке.
Хочу выразить благодарность всем патроном проекта на сервисах Boosty и Patreon: 👉 Илья Павловский 👉 Артем Багрицевич 👉 Евгений Зубарев 👉 Алексей Рассказов 👉 Алексей (a***[email protected]) 👉 Evgeny Semchenko 👉 Taras Motyl
Продолжение серии статей о стилях, темах и кастомизации UI в Android. В новой части разбирается почему стоит использовать атрибуты для ссылки на ресурсы, а не напрямую ссылаться на ресурсы.
Атрибут - это фактически переменная в понятиях Android стилей, с ссылка напрямую на ресурсы - как вставка литера в коде.
Что нового: 👉 Новый артефакт bill of materials (BOM) для OkHttp, который позволит вам не задавать версию и держать все библиотеки для OkHttp в нужных версиях 👉 Исправление багов и улучшения