#UI #Material #BottomNavigation
WindowInsets — Listeners to layouts
В Android, начиная с версии 5.0, есть очень эффектная возможность, которая позволяет вам рисовать UI вашего приложения под системными панелями: панелями навигации и статуса. В статье Chris Banes написал руководство как сделать BottomNavigationView, отображающимся под панелью навигации.
WindowInsets — Listeners to layouts
В Android, начиная с версии 5.0, есть очень эффектная возможность, которая позволяет вам рисовать UI вашего приложения под системными панелями: панелями навигации и статуса. В статье Chris Banes написал руководство как сделать BottomNavigationView, отображающимся под панелью навигации.
Medium
WindowInsets — listeners to layouts
Moving where we handle insets to where our views live, layout files
👍1
Forwarded from paradiSEcurity
Вы просили — мы сделали. Вебинар на тему IT & Security уже 27 апреля!
Темы:
♤ Роль информационной безопасности в IT-мире
♤ Практические советы и профессиональные знания из отрасли
♤ Базовые навыки аудита
♤ Рекомендации по сокрытию личных данных
Скорее регистрируйся 👉 тут
Темы:
♤ Роль информационной безопасности в IT-мире
♤ Практические советы и профессиональные знания из отрасли
♤ Базовые навыки аудита
♤ Рекомендации по сокрытию личных данных
Скорее регистрируйся 👉 тут
👍1
#AndroidStudio #ProjectMarble
Вышла Android Studio 3.4
Вышла новая стабильная версия Android Studio (AS). В рамках ее можно увидеть первые результаты Project Marble. Project Marble - это инициатива в рамках которой команда разработки инструментария для Android исправляет в нем баги и улучшает производительность.
Что вас ждет нового после обновления:
👉 R8, пришедший на замену Proguard, теперь включен по умолчанию. Возможность использовать Proguard пока есть.
🎉 Новый менеджер ресурсов
🚀 Обновленный эмулятор, с улучшенной производительностью и меньшим потреблением ресурсов
🚀 Увеличена скорость работы Android Lint
🚀 Увеличена скорость сборки проектов
👉 Теперь для библиотек AndroidX и Firebase при их использование кода из них и отсутствие в зависимостях, AS будет предлагает их подключить
👉 Обновленный редактор свойств View в Layout Editor
👉 Обновленный диалог структуры проекта (кто-то им пользуется?)
🚀 Поддержка инкрементального процессинга аннотаций в Kotlin (требуется Kotlin 1.3.30 или выше)
👉 Новая Android Studio построена на основе IntelliJ 2018.3 и все фичи, который появились в ней теперь есть и в Android Studio. Подробнее читайте в анонсе "IntelliJ IDEA 2018.3".
Project Marble продолжит свое шествие и его результаты будут также в Android Studio 3.5, которая уже доступна в Canary канале.
Вышла Android Studio 3.4
Вышла новая стабильная версия Android Studio (AS). В рамках ее можно увидеть первые результаты Project Marble. Project Marble - это инициатива в рамках которой команда разработки инструментария для Android исправляет в нем баги и улучшает производительность.
Что вас ждет нового после обновления:
👉 R8, пришедший на замену Proguard, теперь включен по умолчанию. Возможность использовать Proguard пока есть.
🎉 Новый менеджер ресурсов
🚀 Обновленный эмулятор, с улучшенной производительностью и меньшим потреблением ресурсов
🚀 Увеличена скорость работы Android Lint
🚀 Увеличена скорость сборки проектов
👉 Теперь для библиотек AndroidX и Firebase при их использование кода из них и отсутствие в зависимостях, AS будет предлагает их подключить
👉 Обновленный редактор свойств View в Layout Editor
👉 Обновленный диалог структуры проекта (кто-то им пользуется?)
🚀 Поддержка инкрементального процессинга аннотаций в Kotlin (требуется Kotlin 1.3.30 или выше)
👉 Новая Android Studio построена на основе IntelliJ 2018.3 и все фичи, который появились в ней теперь есть и в Android Studio. Подробнее читайте в анонсе "IntelliJ IDEA 2018.3".
Project Marble продолжит свое шествие и его результаты будут также в Android Studio 3.5, которая уже доступна в Canary канале.
Android Developers Blog
Android Studio 3.4
After nearly six months of development, Android Studio 3.4 is ready to download today on the stable release channel. This is a milestone release of the Project Marble effort from the Android Studio team.
This media is not supported in your browser
VIEW IN TELEGRAM
Новый менеджер ресурсов
This media is not supported in your browser
VIEW IN TELEGRAM
Новый UI для редактирования свойств в Layout Editor
#R8 #Proguard
Важно: R8 на моем проекте в этом релизе AS завелся сразу, но при включение full режима требуется дополнительная настройка. Самый безопасный режим включения R8 сейчас это добавить в gradle.properties вашего проекта следующее:
Если вы столкнетесь с проблемами при переходе, то в первую очередь попробуйте перенастроить правила для обфускации и оптимизации кода.
Если это не помогает - откатитесь на Proguard (пока есть возможность) и сообщите о баге.
Важно: R8 на моем проекте в этом релизе AS завелся сразу, но при включение full режима требуется дополнительная настройка. Самый безопасный режим включения R8 сейчас это добавить в gradle.properties вашего проекта следующее:
android.enableR8=trueandroid.enableR8.fullMode=falseЕсли вы столкнетесь с проблемами при переходе, то в первую очередь попробуйте перенастроить правила для обфускации и оптимизации кода.
Если это не помогает - откатитесь на Proguard (пока есть возможность) и сообщите о баге.
👍1
В посте про Android Studio 3.4 я ошибся - "Instant Run" появится только в Android Studio 3.5. Приношу свои извинения тем, кто уже сломя голову побежал искать эту функцию 😀
👍1
#Kotlin #Architecture #Delegates
Delightful Delegate Design
Хорошая статья о том какую пользу Kotlin Delegated Properties могут принести при разработке библиотек и увеличить переиспользование кода в вашем проекте.
Автор разбирает все на примере собственной библиотеки Krate, которая позволяет удобнее работать с
Delightful Delegate Design
Хорошая статья о том какую пользу Kotlin Delegated Properties могут принести при разработке библиотек и увеличить переиспользование кода в вашем проекте.
Автор разбирает все на примере собственной библиотеки Krate, которая позволяет удобнее работать с
SharedPreferences.👍1
#AndroidBroadcast
Сделал свага для канала. Хотите такой себе? Я с удовольствием поделюсь им с вами.
В ближайшее время меня можно встретить на:
👉 23 апреля - митап GDG Minsk Mobile
👉 22-23 мая - выступаю на Mobius в Санкт-Петербурге
👉 1 июня - выступаю на Kotlin Night в Киеве
👉 25 июня - выступаю на митапе Kotlin Lviv User Group
Всем тем кто работает со мной в EPAM в офисе K3V - пишите мне в личку и я дам вам наклейку!
Сделал свага для канала. Хотите такой себе? Я с удовольствием поделюсь им с вами.
В ближайшее время меня можно встретить на:
👉 23 апреля - митап GDG Minsk Mobile
👉 22-23 мая - выступаю на Mobius в Санкт-Петербурге
👉 1 июня - выступаю на Kotlin Night в Киеве
👉 25 июня - выступаю на митапе Kotlin Lviv User Group
Всем тем кто работает со мной в EPAM в офисе K3V - пишите мне в личку и я дам вам наклейку!
👍1
#Material #AndroidX #Design
Upgrading to Material Components
На Google I/O 2018 было представлено обновление Material Design или его вторая версия. В рамках нее произошло обновление концепции дизайна и UI элементов, даже библиотке с дизайном поменяла пакет и стала
👉 TextInputLayout: OutlinedBox и FilledBox
👉 Material Button: filled, text, elevated
👉 Chips: Filter, Choice, Action
👉 Bottom App Bar
👉 Backdrop Menu
Для тех кому интересно узнать больше о Material Design 2.0 рекомендую изучить официальную документацию и пройти Codelab "Material Advanced Components"
Upgrading to Material Components
На Google I/O 2018 было представлено обновление Material Design или его вторая версия. В рамках нее произошло обновление концепции дизайна и UI элементов, даже библиотке с дизайном поменяла пакет и стала
com.google.android.material:material. В статье рассказывается о том как интегрировать новую библиотеку к себе в проект (придется мигрировать на AndroidX) и немного об обновленных компонентах:👉 TextInputLayout: OutlinedBox и FilledBox
👉 Material Button: filled, text, elevated
👉 Chips: Filter, Choice, Action
👉 Bottom App Bar
👉 Backdrop Menu
Для тех кому интересно узнать больше о Material Design 2.0 рекомендую изучить официальную документацию и пройти Codelab "Material Advanced Components"
Medium
Upgrading to Material Components
Material Components (part of Android Jetpack) bring redesign for well known UI elements and even add new ones to the entire collection. In…
👍1
#Workmanager #ArchComponents #RxJava
How to use WorkManager with RxJava
Для всех тех кто уже начал использовать WorkManager и любит RxJava. В статье вы можете найти рецепт, как подружить эти 2 библиотеки больше чем это умеет
Библиотека позволит вам получать обновления статуса выполнения задач или данные в виде
How to use WorkManager with RxJava
Для всех тех кто уже начал использовать WorkManager и любит RxJava. В статье вы можете найти рецепт, как подружить эти 2 библиотеки больше чем это умеет
androidx.work:work-rxjava2, а также результат приготовления этого рецепта в виде библиотеки RxWorkManagerObservers.Библиотека позволит вам получать обновления статуса выполнения задач или данные в виде
Observable.Medium
How to use WorkManager with RxJava
Work manager is one of the Android Architecture Components. It allows running a deferrable background work which will be executed even…
👍1
#Fragment #BestPractices
Android Fragments Common Queries & Common Mistakes
В современной Android разработки при работе с UI и не только приходится сталкиваться с Fragment API. Оно не является простым и вызывает множество вопросов. В статье автор раскрывает основные из них:
👉 Разница между
👉 Взаимодействие между parent и child
👉 Разница между
👉 Разница между add и replace в
👉 Слушатели, BroadcastReceiver-ы и утечка памяти в
👉 Использование
👉 Разница между
👉 Работа с меню в
👉 В каких случаях
👉
👉 Для передачи аргументов при создании
👉 Организации навигации по back стеку
Android Fragments Common Queries & Common Mistakes
В современной Android разработки при работе с UI и не только приходится сталкиваться с Fragment API. Оно не является простым и вызывает множество вопросов. В статье автор раскрывает основные из них:
👉 Разница между
Fragment.getSupportFragmentManager() и Fragment.getChildFragmentManager()👉 Взаимодействие между parent и child
Fragment-ами👉 Разница между
FragmentStateAdapter and FragmentPagerAdapter в ViewPager и когда какой использовать👉 Разница между add и replace в
FragmentTransaction👉 Слушатели, BroadcastReceiver-ы и утечка памяти в
Fragment👉 Использование
BottomBarNavigation и NavigationDrawer с Fragment (отсылка к библиотеки FragNav)👉 Разница между
FragmentTransaction.commit() and FragmentTransaction.commitAllowingStateLoss()👉 Работа с меню в
Fragment👉 В каких случаях
getContext(), getActivity() и getView() возвращают null👉
onActivityResult() не вызывается во вложенных (child) Fragment👉 Для передачи аргументов при создании
e надо использовать Bundle👉 Организации навигации по back стеку
👍1
Какую тему вы предпочитаете в IDE при написании кода?
Final Results
73%
Темную
25%
Светлую
1%
Не пишу код
👍1
Android Broadcast
#Course Android Architecture Masterclass video course Курс по архитектуре Android приложений, написанию чистого кода и разработке поддерживаемых приложений. Курс стоит $12. Курс состоит из следующих частей: 1️⃣ MVx архитектурные паттерны 2️⃣ MVx в Android…
Я зафакапил сроки, так как сейчас активно провожу время за подготовкой к Mobius и окончанием School.kt (это уже закончилось). Скоро отпуск и там я точно посмотрю этот онлайн курс.
👍1
#GDGMinsk #Meetup
Сегодня, 23 апреля, сообщество GDG Minsk проводит очередной митап по мобильной тематике!
В программе:
🤖 Что может сделать мобильный разработчик в одиночку с помощью Firebase
Константин Конопко@Keeple.app
🤖 Частые ошибки и общий workflow локализации мобильных приложений
Александр Маркевич, Localization team lead, Flo Health Inc
🤖 Безопасность Android приложений
Дмитрий Лукьяненко, Исследователь безопасности Android приложений
В своем докладе Дмитрий расскажет о том, какие проблемы могут возникнуть с защитой данных пользователя, а так же с выполнением несанкционированных действий от его имени.
Регистрация участников с 18.30, начало докладов в 19.00.
Место проведения: SPACE (ул. Октябрьская 16/4).
Сегодня, 23 апреля, сообщество GDG Minsk проводит очередной митап по мобильной тематике!
В программе:
🤖 Что может сделать мобильный разработчик в одиночку с помощью Firebase
Константин Конопко@Keeple.app
🤖 Частые ошибки и общий workflow локализации мобильных приложений
Александр Маркевич, Localization team lead, Flo Health Inc
🤖 Безопасность Android приложений
Дмитрий Лукьяненко, Исследователь безопасности Android приложений
В своем докладе Дмитрий расскажет о том, какие проблемы могут возникнуть с защитой данных пользователя, а так же с выполнением несанкционированных действий от его имени.
Регистрация участников с 18.30, начало докладов в 19.00.
Место проведения: SPACE (ул. Октябрьская 16/4).
👍1
#Tests #Performance
Deep Dive into writing Performance Tests with @JankTest
Тестовая библиотека AndroidX, содержит в себе компонент
Библиотека позволяет производить тест UI на ожидаемое количество кадров. Например, вы можете проверить что при скроллинге списка fps не опускается ниже заданного значения.
Также можно написать свой собственный монитор, который будет проверять производительность UI, как это вам былы бы необходимо.
Deep Dive into writing Performance Tests with @JankTest
Тестовая библиотека AndroidX, содержит в себе компонент
androidx.test.janktesthelper:janktesthelper, который предназначен для тестирования производительности UI. Библиотека позволяет производить тест UI на ожидаемое количество кадров. Например, вы можете проверить что при скроллинге списка fps не опускается ниже заданного значения.
Также можно написать свой собственный монитор, который будет проверять производительность UI, как это вам былы бы необходимо.
Medium
Deep Dive into writing Performance Tests with @JankTest
Android provides us with a jank test helper library to execute performance tests. Find out how to use that library and improve it!
👍1
Какое Dependency Injection (DI) решение вы используете в проектах?
Final Results
60%
Dagger 2
19%
Koin
2%
Kodein
0%
Dagger 1
3%
Собственное
10%
Не использую DI
6%
Другая библиотека
0%
У меня больше одного DI в проекте