Android Broadcast – Telegram
Android Broadcast
14.4K subscribers
3.68K photos
367 videos
11 files
6.1K links
Подборка новостей и статей для Android разработчиков.

Реклама и связь с автором @ab_manager

РКН https://abdev.by/rkn_tg_ab #MQRZR
Download Telegram
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 вашего проекта следующее:
android.enableR8=true
android.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, которая позволяет удобнее работать с SharedPreferences.
👍1
#AndroidBroadcast

Сделал свага для канала. Хотите такой себе? Я с удовольствием поделюсь им с вами.

В ближайшее время меня можно встретить на:
👉 23 апреля - митап GDG Minsk Mobile
👉 22-23 мая - выступаю на Mobius в Санкт-Петербурге
👉 1 июня - выступаю на Kotlin Night в Киеве
👉 25 июня - выступаю на митапе Kotlin Lviv User Group

Всем тем кто работает со мной в EPAM в офисе K3V - пишите мне в личку и я дам вам наклейку!
👍1
🔥1
#Material #AndroidX #Design

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"
👍1
#Workmanager #ArchComponents #RxJava

How to use WorkManager with RxJava

Для всех тех кто уже начал использовать WorkManager и любит RxJava. В статье вы можете найти рецепт, как подружить эти 2 библиотеки больше чем это умеет androidx.work:work-rxjava2, а также результат приготовления этого рецепта в виде библиотеки RxWorkManagerObservers.

Библиотека позволит вам получать обновления статуса выполнения задач или данные в виде Observable.
👍1
#Fragment #BestPractices

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).
👍1
#Tests #Performance

Deep Dive into writing Performance Tests with @JankTest

Тестовая библиотека AndroidX, содержит в себе компонент androidx.test.janktesthelper:janktesthelper, который предназначен для тестирования производительности UI.

Библиотека позволяет производить тест UI на ожидаемое количество кадров. Например, вы можете проверить что при скроллинге списка fps не опускается ниже заданного значения.

Также можно написать свой собственный монитор, который будет проверять производительность UI, как это вам былы бы необходимо.
👍1
#Animation

Lottie 3.0.0 released

Для всех любителей анимаций Lottie - это то, что "доктор прописал". Библиотека позволяет запускать анимации из Adobe After Effects и отображать их нативно на мобильных платформах и Web.

Вышел новый мажорный релиз этой библиотеки 3.0, который привнес следующие изменения:
👉 Поддержка новых эффектов
👉 Улучшение производительности
👉 Исправление багов
👉 Улучшение расхода памяти

Замечание: Сразу вышел релиз 3.0.1, исправляющий незначительные баги
👍1
#Performance #UI

Facebook Litho Lessons

Facebook Litho - это библиотека, которая позволяет повысить производительность вашего UI, за счет удаления вложенности, делая структуру виджетов плоскими. Для этого используется свой собственный декларативный способ описания UI.

По ссылке вы найдете несколько видео, общей продолжительностью 16 минут, раскрывающих работу с функционалом библиотеки (не базовыми вещами).
👍1
#AndroidQ #ScopedStorage #BestPractices

Android Q Scoped Storage: Best Practices and Updates

Следующей релиз Android (Q), направлен на улучшение безопасности пользователей. Частью этих улучшения стали новые ограничения на работу с файлами - Scoped Storage.

Изменения направлены на ограничение работы с файлами, созданными другими приложения и обеспечением механизма для пользователя, позволяющим контролировать возможности по доступу к файлам приложениями.

Для всех тех Android приложения, кто всегда был хорошим и жил по рекомендуемым правилам для работы с файлами, эффекта новых изменений не будет вовсе, либо он будет минимальным.

Для остальных - придется вносить правки в свою работу с файлами, но разработчики Android ОС предоставляют рекомендации, который вы можете найти в статье.
👍1
#Optimizations #AndroidGo #Memory #Yandex

Приложение в памяти на практике: наш опыт оптимизации Яндекс.Лончер
Продолжительность: 21:28 + 6:16 (QA)

В докладе рассматриваются следующие вопросы:
👉 Яндекс.Лончер: особенности приложения и почему необходимо его оптимизировать по потреблению памяти. 👉 Особенности работы на Android Go edition
👉 Как измерять расход памяти приложением? Android Studio Profiler, Memory Analyzer (MAT), dumpsys meminfo
👉 Уменьшение потребления памяти приложением: от простых (отказ от Enum-ов) к сложным (lazy inflate и программное создание View)
👉 Мониторинг расхода памяти: Android Lint, тестирование расхода на устройствах/эмуляторах

Также доклад доступен в виде статьи.
👍1