Основы темизации в Android
Полезная статья про то, как устроена темизация и стилизация в Android. В статье рассматривают атрибуты, темы, стили и TextAppearance.
Полезная статья про то, как устроена темизация и стилизация в Android. В статье рассматривают атрибуты, темы, стили и TextAppearance.
Статья шпаргалка, про то, какие параметры, для чего используются в
build.gradleдля Android проектов. Особенно будет полезно начинающим.
Introducing Security By Design
Security by Design – бесплатный курс по безопасности приложений от Гугла. В курсе рассказывают как проверить своё приложение на уязвимости, какие средства использовать для шифрования важной инфы.
Описание тут, пройти курс можно тут. Так же есть страница с лучшими практиками по безопасности приложений от Гугла.
Security by Design – бесплатный курс по безопасности приложений от Гугла. В курсе рассказывают как проверить своё приложение на уязвимости, какие средства использовать для шифрования важной инфы.
Описание тут, пройти курс можно тут. Так же есть страница с лучшими практиками по безопасности приложений от Гугла.
Kotlin Collections vs Sequences
В статье рассказывают об основных отличиях Collections и Sequences и как работают операторы filter, map, take для Collections и Sequences.
Интересно, а вы используете Sequences в своих проектах?
В статье рассказывают об основных отличиях Collections и Sequences и как работают операторы filter, map, take для Collections и Sequences.
Интересно, а вы используете Sequences в своих проектах?
Анимированные списки в связке MotionLayout + RecyclerView
Пример использования анимированных списков с помощью MotionLayout. Если кто-то еще не знает, MotionLayout – это ConstraintLayout на стероидах, который позволяет делать прикольные анимации c помощью Scene описанных в xml.
Оффициальная дока тут.
Пример использования анимированных списков с помощью MotionLayout. Если кто-то еще не знает, MotionLayout – это ConstraintLayout на стероидах, который позволяет делать прикольные анимации c помощью Scene описанных в xml.
Оффициальная дока тут.
BottomSheet с анимацией при смене состояния и sticky button
В статье, кроме анимации рассматривается очень актуальный кейс с прижатой к низу кнопкой. Для тех, кто не знает – это не стандартный кейс, который не так уж просто реализовать.
Если вы не сталкивались с подобной реализацией, рекомендую закинуть статью в избранное 😉
В статье, кроме анимации рассматривается очень актуальный кейс с прижатой к низу кнопкой. Для тех, кто не знает – это не стандартный кейс, который не так уж просто реализовать.
Если вы не сталкивались с подобной реализацией, рекомендую закинуть статью в избранное 😉
Как приготовить 60 FPS RecyclerView?
Ловите годную статью про оптимизацию списков. Один из главных советов из статьи, который прям мастхев нужно юзать – легковесные ViewHolder`s. Это значит, что во вьюхолдере не должно быть никаких трудозатратных операций, преобразований, вычислений и т.д., во вьюхолдер должны прийти уже готовые данные для биндинга. Можно предварительно маппить во ViewModel, Repository где угодно, только не во вьюхолдере.
Ну и на всякий случай напомню про существование
Ловите годную статью про оптимизацию списков. Один из главных советов из статьи, который прям мастхев нужно юзать – легковесные ViewHolder`s. Это значит, что во вьюхолдере не должно быть никаких трудозатратных операций, преобразований, вычислений и т.д., во вьюхолдер должны прийти уже готовые данные для биндинга. Можно предварительно маппить во ViewModel, Repository где угодно, только не во вьюхолдере.
Ну и на всякий случай напомню про существование
DiffUtil, setHasFixedSize(…), setItemViewCacheSize(…) и setRecycledViewPool(…)О дизайн-системе замолвите слово
Дизайн-система одна из хайповых штук в последнее время. Основные цели ДС – переиспользование готовых компонентов, выстроить четкое взаимодействие между разработчиками и дизайнерами, ну и сэкономить время дизайнеров и разработчиков.
На глаза попалась интересная статья от HH, в которой ребята делятся своим опытом внедрения дизайн-системы.
Полезно будет почитать не только мобильщикам, но и фронтендерам, дизайнерам.
Дизайн-система одна из хайповых штук в последнее время. Основные цели ДС – переиспользование готовых компонентов, выстроить четкое взаимодействие между разработчиками и дизайнерами, ну и сэкономить время дизайнеров и разработчиков.
На глаза попалась интересная статья от HH, в которой ребята делятся своим опытом внедрения дизайн-системы.
Полезно будет почитать не только мобильщикам, но и фронтендерам, дизайнерам.
View Model не обязательно наследоваться от ViewModel
Интересный материал про то, как устроена ViewModel из Jetpack и как можно запилить свою так называемую ViewModel, которая будет сохранять состояние и очищать ресурсы, и в то же время не будет привязана к ViewModel из Jetpack.
Интересный материал про то, как устроена ViewModel из Jetpack и как можно запилить свою так называемую ViewModel, которая будет сохранять состояние и очищать ресурсы, и в то же время не будет привязана к ViewModel из Jetpack.
Утечки памяти во фрагментах
Утечки памяти одна из важных штук, из-за которой вашему приложению может стать очень плохо. Чтобы такого не было, нужно понимать как устроен жизненный цикл фрагментов и в нужное время зачистить ресурсы.
В статье рассматриваются возможные варианты утечек во фрагменте и как их можно избежать.
Ну и напомню про существование библиотеки LeakCanary от Square, с помощью которой можно отследить утечки.
Утечки памяти одна из важных штук, из-за которой вашему приложению может стать очень плохо. Чтобы такого не было, нужно понимать как устроен жизненный цикл фрагментов и в нужное время зачистить ресурсы.
В статье рассматриваются возможные варианты утечек во фрагменте и как их можно избежать.
Ну и напомню про существование библиотеки LeakCanary от Square, с помощью которой можно отследить утечки.
👏1
Гайд по использованию Material Transitions
Когда в приложении есть анимации, работа с приложением для пользователей кажется более приятной и плавной, хоть и анимация по сути никак не влияет на функциональность. Меня прикалывают всевозможные анимации, особенно, когда на это не нужно тратить много времени 😁
Вот неплохая статья, в которой автор показывает, как добавить анимации переходов в свое приложение. Всё относительно просто 😉
Когда в приложении есть анимации, работа с приложением для пользователей кажется более приятной и плавной, хоть и анимация по сути никак не влияет на функциональность. Меня прикалывают всевозможные анимации, особенно, когда на это не нужно тратить много времени 😁
Вот неплохая статья, в которой автор показывает, как добавить анимации переходов в свое приложение. Всё относительно просто 😉
Ну что, вот и зарелизили Compose. Для кого-то, это крутая новость, для кого-то не очень. Моё мнение на этот счет – вообще пофиг 😁. На данный момент к Compose отношусь скептически.
Хз, может за столько времени уже привык к верстке в xml, а может просто пока что не готов принимать новый подход к построению UI. В любом случае, прям юзать в проде пока не готов.
Полезные материалы про Compose на канале будут, вдруг в будущем понадобится 😉
А вы готовы юзать или уже юзаете Compose в проде?
Хз, может за столько времени уже привык к верстке в xml, а может просто пока что не готов принимать новый подход к построению UI. В любом случае, прям юзать в проде пока не готов.
Полезные материалы про Compose на канале будут, вдруг в будущем понадобится 😉
А вы готовы юзать или уже юзаете Compose в проде?
Полезные Kotlin расширения для Android
В статье собрано несколько полезных Kotlin расширений, с помощью которых можно более эффективно работать с API в Android.
В статье собрано несколько полезных Kotlin расширений, с помощью которых можно более эффективно работать с API в Android.
Несколько бесплатных ресурсов для изучения Android разработки на Kotlin. Полезно будет начинающим.
Mail•ru Group открывает набор на бесплатные курсы по мобильной разработке
Mail•ru Group запускает два бесплатных курса по Android- и iOS-разработке для студентов вузов Москвы и Санкт-Петербурга. За один семестр вы освоите базовые навыки мобильной разработки, научитесь работать в команде и сможете с нуля создать собственное приложение.
Лучшие выпускники получат возможность присоединиться к командам Юлы, AliExpress России, Одноклассников и другим проектам экосистемы VK.
Подать заявку можно до 6 сентября включительно, на сайтах курсов: iOS-разработка, Android-разработка
Mail•ru Group запускает два бесплатных курса по Android- и iOS-разработке для студентов вузов Москвы и Санкт-Петербурга. За один семестр вы освоите базовые навыки мобильной разработки, научитесь работать в команде и сможете с нуля создать собственное приложение.
Лучшие выпускники получат возможность присоединиться к командам Юлы, AliExpress России, Одноклассников и другим проектам экосистемы VK.
Подать заявку можно до 6 сентября включительно, на сайтах курсов: iOS-разработка, Android-разработка
Способы взаимодействия между фрагментами
На дворе 2021 год, но до сих пор встречаются такие подходы как: проброс каких-нибудь интерфейсов, взаимодействие через host activity, статичные поля 😳 и т.д. Глядя на это все возникает вопрос – зачем? То ли разработчики не следят за развитием системы, то ли лень разбираться, либо я хз как это объяснить. В эпоху Jetpack, выглядит это мягко говоря не очень.
Существует несколько нативных, нормальных подходов к коммуникации между фрагментами, один из которых – расшарить
Вот статейка на хабре про использование
На дворе 2021 год, но до сих пор встречаются такие подходы как: проброс каких-нибудь интерфейсов, взаимодействие через host activity, статичные поля 😳 и т.д. Глядя на это все возникает вопрос – зачем? То ли разработчики не следят за развитием системы, то ли лень разбираться, либо я хз как это объяснить. В эпоху Jetpack, выглядит это мягко говоря не очень.
Существует несколько нативных, нормальных подходов к коммуникации между фрагментами, один из которых – расшарить
ViewModel, второй – использовать Fragment Result Listener.Вот статейка на хабре про использование
Fragment Result Listener. Официальная дока к построению коммуникации между фрагментами тут.Template на примере формирования списков в Android
Полезная статья, в которой показано, как с помощью паттерна Шаблонный метод сделать более читабельный и лаконичный код, без кучи блоков if else. Но нужно понимать, что паттерн имеет как плюсы, так и минусы. Поэтому использовать нужно с умом и по ситуации, впрочем, как и большинство паттернов 😉
Полезная статья, в которой показано, как с помощью паттерна Шаблонный метод сделать более читабельный и лаконичный код, без кучи блоков if else. Но нужно понимать, что паттерн имеет как плюсы, так и минусы. Поэтому использовать нужно с умом и по ситуации, впрочем, как и большинство паттернов 😉
Kaspresso tutorials. Часть 1. Запуск первого теста
Авторы Kaspresso запускают большую серию статей-туториалов о Kaspresso в частности и UI-тестах под Android в общем. Если кто не знает, Kaspresso – это фреймворк для автотестирования c удобным синтаксисом и дополнительными плюшками, разработанный крутыми чуваками android сообщества.
Первая часть уже на хабре
Авторы Kaspresso запускают большую серию статей-туториалов о Kaspresso в частности и UI-тестах под Android в общем. Если кто не знает, Kaspresso – это фреймворк для автотестирования c удобным синтаксисом и дополнительными плюшками, разработанный крутыми чуваками android сообщества.
Первая часть уже на хабре
Гайд по тестированию рекламы для мобильных приложений
Оставлю тут статейку про тестирование рекламы в мобильных приложениях. Вдруг кому-то понадобится.
Оставлю тут статейку про тестирование рекламы в мобильных приложениях. Вдруг кому-то понадобится.
Фоновая работа в Android: обзор возможностей WorkManager
Каждый разработчик периодически сталкивается с задачами, которые нужно выполнить в фоне, кейсов может быть множество от загрузки/отгрузки больших данных до синка локальной БД с удаленной. И вот тут начинается делема, как же это сделать. Одним из актуальных решений были Services, но потом появился WorkManager.
Если вы его еще не юзали, на хабре есть отличная статейка, в которой демонстрируются его возможности (периодичность выполнения, цепочки, критерии запуска и т.д.). Кстати, WorkManager совместим с Rx и Корутинами, что очень радует.
Каждый разработчик периодически сталкивается с задачами, которые нужно выполнить в фоне, кейсов может быть множество от загрузки/отгрузки больших данных до синка локальной БД с удаленной. И вот тут начинается делема, как же это сделать. Одним из актуальных решений были Services, но потом появился WorkManager.
Если вы его еще не юзали, на хабре есть отличная статейка, в которой демонстрируются его возможности (периодичность выполнения, цепочки, критерии запуска и т.д.). Кстати, WorkManager совместим с Rx и Корутинами, что очень радует.
👍1