Продолжение статей о возможности загрузки функционала вашего приложения динамически на основе Dynamic Delivery.
В новой части статьи рассказывает об: 👉 организации архитектуры в приложения с учетом Dynamic Delivery 👉 как настроить проект в Gradle 👉 как тестировать приложения с таким функционалом
Популярная библиотека для работы по сети по протоколу HTTP OkHttp используется во всех проектах на Android, где есть выход в сеть.
Библиотека имеет одну удобную возможность - перехват любого запроса (Intercepting). С помощью нее можно логировать любой запрос (например, OkHttp Logging Interceptor).
В статье показывается пример как вы сможете использовать мощь Interceptor в своем коде.
Navigation Architecture Component не имеет поддержки работы с ProGuard/R8, точнее параметры, которые вы указываете в XML графе не добавляет в исключения типы, которые указываются как аргументы.
Исправляется это добавлением всех этих типов в proguard-rules.pro вашего проекта, но будет правильнее автоматизировать этот процесс, что и приводится в статье.
18 апреля 2020 (сб) пройдет первая конференция по Flutter в Беларуси. Мы хотим собрать всех Flutter энтузиастов и компании, которые хотят развивать это направление или уже сделали это и ищут специалистов. В программе вас ждут доклады, воркшоп и возможность пообщаться с коллегами.
Стали доступны записи докладов с Android совместного митапа Avito и GDG Gorky в Нижнем Новгороде, который прошёл 29 февраля.
Я рассказал о том, почему стоит выбрать Kotlin Coroutine для выполнения асинхронных задач в Android.
Жители Львова не смотрите, я еду к вам! В конце марта я выступлю на митапе Kotlin User Group, расскажу этот доклад с добавлением нового контента. Анонс совсем скоро
Я уверен, что в большинстве проектах, если не во всех используется константы из BuildConfig, а в особенности BuildConfig.DEBUG.
Хорошо это или плохо - вы сможете найти в статье, но уже в название автор спойлерит что не всегда это удачное решение. Суть проста - константа не дает гибкости (
Вместо того чтобы показывать прогресс посередине экрана или вообще ничего (надеюсь так не делаете) можно рассмотреть модный вариант - skeleton + анимация с эффектом Шиммера.
Это похоже на то что у нас отображается примерный контент, но все данные пустые и заполняются когда загружаются.
В статье разбирается как это реализовать при помощи библиотеки AndroidVeil
Возможность загрузки модулей вашего приложения динамически - прекрасная возможность Google Play, но тестировать ее можно было только через публикацию App Bundle через Google Play Console ☹️.
В утилите bundletool 0.13.0 появилась возможность тестировать эту фичу локально. Все подробности в статье
В этом году конференции Google I/O не будет. Точнее в привычном формате для горстки избранных, кто смог получить туда билет. В этом раз вся конференция будет только онлайн. Причиной всему китайский коронавирус.
Также было объявлено об отмене конференции Microsoft MVP Summit. Интересно отменят ли Kotlin Conf в сентября?
Как по мне, то даже лучше. Спикер будет говорить прямо в камеру и показ слайдов заточен будет под онлайн формат.
Вышла новая версия 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 скриптов и примеры
Раньше нам приходилось переопределять методы жизненного цикла в Activity и Fragment, создавать базовые классы на их основе, чтобы не дублировать код.
Но Android ушел дальше и вы можете заменить их с помощью ActivityLifecycleCallbacks и FragmentLifecycleCallbacks. Также можете обратить внимание на Lifecycle
Обзор последних возможностей библиотек Lifecycle (LiveData, ViewMode, Lifecycle), ktx расширений и лучших практик: 👉 Делегаты ViewModel 👉 Почему не стоит использовать AndroidViewModel 👉 Какие данные не стоит передавать в ViewModel 👉 Сохранение данных ViewModel