І знову настав час експериментів 😄 Приклад використання незадокументованої фішки Hilt, яка дозволяє підключити його до чистого Kotlin-модуля (наприклад, для того, щоб написати байдінг інтерфейсів та реалізацій юз-кейсів в домейн-шарі):
https://medium.com/@rom.andrushchenko/how-to-use-hilt-in-pure-kotlin-modules-f1e0c3b470b5
https://medium.com/@rom.andrushchenko/how-to-use-hilt-in-pure-kotlin-modules-f1e0c3b470b5
Medium
How to use Hilt in pure Kotlin modules 😮 ?
Did you know it’s possible to use Hilt in pure Kotlin modules? At first glance, it may sound like a magic trick. After all, the official…
🔥5
Сьогодні буде рандомний стрім о 19-00. Тематика: 1) експерименти з Claude Code, спробую щось зробити не по Android 😄 2) запитання-відповіді, якщо такі будуть.
https://youtube.com/live/1ThBK-qVUcg
https://youtube.com/live/1ThBK-qVUcg
YouTube
AI, вайб-кодинг, запитання-відповіді #19
Відповідаю на запитання та пишу код в прямому ефірі.
Підтримати канал: https://uandcode.com/donate
Стати спонсором: https://uandcode.com/join
Список контенту для спонсорів: https://uandcode.com/paid-content/
Telegram-канал: https://uandcode.com/telegram…
Підтримати канал: https://uandcode.com/donate
Стати спонсором: https://uandcode.com/join
Список контенту для спонсорів: https://uandcode.com/paid-content/
Telegram-канал: https://uandcode.com/telegram…
❤8🔥3
Сьогодні о 17-00 планується стрім, тематика - лайв-кодинг та запитання-відповіді:
https://www.youtube.com/watch?v=a_pJLj2jx2M
https://www.youtube.com/watch?v=a_pJLj2jx2M
YouTube
Live-кодинг (Android / Kotlin / Java), запитання-відповіді #20
Відповідаю на запитання та пишу код в прямому ефірі.
Підтримати канал: https://uandcode.com/donate
Стати спонсором: https://uandcode.com/join
Список контенту для спонсорів: https://uandcode.com/paid-content/
Telegram-канал: https://uandcode.com/telegram…
Підтримати канал: https://uandcode.com/donate
Стати спонсором: https://uandcode.com/join
Список контенту для спонсорів: https://uandcode.com/paid-content/
Telegram-канал: https://uandcode.com/telegram…
👍9❤1
Знаєте, хто такий Jaewoong Eum? Google Developer Expert (GDE) з Android, Kotlin та Firebase одночасно, а також топ-1 розробник Open-Source Android-бібліотек у світі. Недавно він виступив на конференції DroidKaigi 2025 (Токіо). І гарна новина в тому, що він погодився на публікацію на моєму каналі повного перекладу його доповіді про створення Android-бібліотек. Інформація також актуальна і для багатомодульних проектів. У доповіді піднімаються питання роботи з API, Binary Compatibility, транзитивними залежностями, ресурсами, і багато чого іншого. Детальний план виступу прописаний в тайм-кодах до відео.
https://youtu.be/LGfqaQ1qFy8
Прем'єра сьогодні о 17-00 (це не прямий ефір, відео було записано зарані та змонтовано, але лайв-чат буде)
Але і це ще не все 😊 Jaewoong Eum запропонував знижку 30% на електронну версію його книги Manifest Android Interview, перекладену українською мовою. Придбати зі знижкою можна за посиланням (кількість обмежена): https://leanpub.com/manifest-android-interview-uk/c/XoP1zeuGbry7
https://youtu.be/LGfqaQ1qFy8
Прем'єра сьогодні о 17-00 (це не прямий ефір, відео було записано зарані та змонтовано, але лайв-чат буде)
Але і це ще не все 😊 Jaewoong Eum запропонував знижку 30% на електронну версію його книги Manifest Android Interview, перекладену українською мовою. Придбати зі знижкою можна за посиланням (кількість обмежена): https://leanpub.com/manifest-android-interview-uk/c/XoP1zeuGbry7
YouTube
DroidKaigi 2025 - Створення надійних Android-бібліотек (Переклад українською)
Переклад доповіді від Jaewoong Eum (@skydoves) з токійської конференції DroidKaigi 2025 - https://2025.droidkaigi.jp/en/
Jaewoong Eum - автор Android-бібліотек з мільйонними охопленням, які використовуються топовими Android-додатками по всьому світу. Senior…
Jaewoong Eum - автор Android-бібліотек з мільйонними охопленням, які використовуються топовими Android-додатками по всьому світу. Senior…
🔥31👍6❤4
Сьогодні десь о 17-00 запущу стрім… на Windows на Twitch (https://www.twitch.tv/randrushchenko), тому що в Linux провів "успішні" експерименти з драйверами 😂 В планах - проходження кампанії SC II Wings of Liberty 2010-го року. Також буду відповідати на запитання, якщо будуть. А поки можете вибрати складність вище ^
Twitch
randrushchenko - Twitch
Sr. Android / KMP Software Engineer
👍6🔥1
На цих вихідних буде прямий ефір з розбором коду. Попередньо - спробую запустити в суботу о 17-00. Якщо ж будуть відключення світла - тоді перенесу на пізніший час, або на наступний день.
https://youtube.com/live/ffPR1t0g5uM
https://youtube.com/live/ffPR1t0g5uM
YouTube
Розбір коду Android-проекту #10 / Kotlin, Android, Jetpack Compose
Розбір коду Android-проекту в прямому ефірі, відповіді на запитання і т.д.
Підтримати канал: https://uandcode.com/donate
Стати спонсором: https://uandcode.com/join
Список контенту для спонсорів: https://uandcode.com/paid-content/
Telegram-канал: https:…
Підтримати канал: https://uandcode.com/donate
Стати спонсором: https://uandcode.com/join
Список контенту для спонсорів: https://uandcode.com/paid-content/
Telegram-канал: https:…
❤13
Привіт 🙂 Зараз в телеграмі майже нічого не публікую, але можна спробувати це змінити. Пропоную прийняти участь в голосуванні, який контент ви б хотіли в подальшому тут бачити (можна вибрати декілька варіантів).
Anonymous Poll
61%
Технічні новини Kotlin / Java / Android
35%
Анонси подій, пов'язаних з Android
34%
Анонси Open Source Android-бібліотек, проектів
55%
Статті / відео чи інші публікації зі світу Android
76%
Лайфхаки, які можна застосувати в розробці
32%
Холіварні теми аля Kotlin vs Swift, MVI vs MVVM 😅
38%
Всякі айтішні меми (ну а шо 😁)
4%
Інше (пишіть в коментарях)
❤10
Jaewoong Eum опублікував плагін Compose Stability Analyzer для Android Studio, який в реальному часі показує стабільність параметрів Composable-функцій. Раніше для цього треба було запускати генерацію звіту, відкривати текстовий файл з результатами і вручну все перевіряти.
Тепер, зі встановленим плагіном, навпроти кожного параметру відразу видно кольоровий індикатор стабільності.
Плагін доступний в Marketplace, можна встановити через Android Studio: Settings -> Plugins -> Marketplace -> Compose Stability Analyzer -> Install.
Посилання на GitHub: https://github.com/skydoves/compose-stability-analyzer
Посилання на плагін: https://plugins.jetbrains.com/plugin/28767-compose-stability-analyzer
Тепер, зі встановленим плагіном, навпроти кожного параметру відразу видно кольоровий індикатор стабільності.
Плагін доступний в Marketplace, можна встановити через Android Studio: Settings -> Plugins -> Marketplace -> Compose Stability Analyzer -> Install.
Посилання на GitHub: https://github.com/skydoves/compose-stability-analyzer
Посилання на плагін: https://plugins.jetbrains.com/plugin/28767-compose-stability-analyzer
❤28
This media is not supported in your browser
VIEW IN TELEGRAM
Всім гарної п'ятниці 😄 Не плануйте релізів на сьогодні.
❤22😁9👏2🤬1🤝1
This media is not supported in your browser
VIEW IN TELEGRAM
Невелика фішка при наборі коду в Android Studio / IntelliJ - це швидкий перехід між словами: Ctrl + ← та Ctrl + → (в MacOS - Option замість Ctrl). Але додатково є також альтернативний варіант - переміщення курсору всередині слова. Для цього можна включити опцію Use CamelHumps words в Settings -> Editor -> General -> Smart Keys. Наочна різниця показана в прикріпленій анімації.
👍26🤯4🥰2❤1
Що робити, якщо ви випадково видалили код, і при цьому в проекті не використовується Git, і ви ще й закрили Android Studio та пішли відпочивати на вихідні? 😅
Для таких випадків, всі продукти на базі IntelliJ Platform, в тому числі і Android Studio, мають вбудований інструмент Local History. Достатньо натиснути правою кнопкою миші на каталог / пакет / модуль, в якому був видалений файл, потім вибрати пункт Local History -> Show History. В результаті з'явиться вікно з можливістю знайти видалений файл та відновити його командою Revert Selected and Later Changes.
Для таких випадків, всі продукти на базі IntelliJ Platform, в тому числі і Android Studio, мають вбудований інструмент Local History. Достатньо натиснути правою кнопкою миші на каталог / пакет / модуль, в якому був видалений файл, потім вибрати пункт Local History -> Show History. В результаті з'явиться вікно з можливістю знайти видалений файл та відновити його командою Revert Selected and Later Changes.
❤40
This media is not supported in your browser
VIEW IN TELEGRAM
Багато хто з вас чув про GraphicsLayer в Jetpack Compose. Він дозволяє не тільки оптимізувати відображення графіки, а й реалізувати цікаві ефекти. Наприклад, в статті за посиланням нижче - наведено приклад CRT Screen Effect з готовим кодом:
https://www.sinasamaki.com/creating-a-crt-screen-effect-in-jetpack-compose/
https://www.sinasamaki.com/creating-a-crt-screen-effect-in-jetpack-compose/
❤13🔥6😱2
This media is not supported in your browser
VIEW IN TELEGRAM
Ще одна фішка Android Studio - це офіційна підтримка CPDD (Copy-Paste-Driven-Development 😄). Ви можете копіювати та вставляти код декілька разів підряд. Наприклад: виділяєте та копіюєте три різні фрагменти коду за допомогою комбінації клавіш Ctrl+C. Потім, в іншому місці - вставляєте їх в тому ж самому порядку, натиснувши три рази підряд комбінацію Ctrl+Shift+V, цифра 3 (якщо зкопіювали N фрагментів - то тоді натискайте відповідну цифру N). Також, можна вставляти зкопійовані фрагменти в інвертованому порядку: Ctrl+Shift+V, 1, Ctrl+Shift+V, 2, Ctrl+Shift+V, 3, ну або вручну вибирати потрібний фрагмент зі списку.
❤22🤬1
Сьогодні поділюсь посиланням на великий (дуже) лонг-рід про Kotlin Coroutines. Матеріал настільки обʼємний, що навіть браузер починає глючити при скролі 😄 Але зате в ньому є максимально детальне пояснення з прикладами, як взагалі працюють корутини в мові Kotlin та які механізми закладені всередині. В кінці статті також є пояснення більш приземлених речей - Job Cancellation, Structured Concurrency, Supervisor Scope і т.д.
https://proandroiddev.com/inside-kotlin-coroutines-state-machines-continuations-and-structured-concurrency-b8d3d4e48e62
https://proandroiddev.com/inside-kotlin-coroutines-state-machines-continuations-and-structured-concurrency-b8d3d4e48e62
Medium
Inside Kotlin Coroutines: State Machines, Continuations, and Structured Concurrency.
A deep dive into the Finite-State-Machine (FSM) transformation that powers Kotlin Coroutines. Compiler Mechanics, and Structured…
🔥23👍14❤5
В жовтні відбувся перший stable-реліз (v1.0.0) бібліотеки JankStats, яка дозволяє моніторити продуктивність кадрів відрисовки екрану. Наприклад - для складних інтерфейсів або анімацій. Особливість бібліотеки в тому, що ви можете включати до неї різні дані зі стейту вашого android-проекту (чимось схоже на кастомну аналітику, тільки для моніторингу продуктивності інтерфейсу). Бібліотека працює з Android Views, Jetpack Compose, і є офіційним інструментом від Google. Підключається одним рядком, без плагінів:
Документація на Android Developers: https://developer.android.com/topic/performance/jankstats
Приклад використання на GitHub: https://github.com/android/performance-samples/tree/main/JankStatsSample
implementation("androidx.metrics:metrics-performance:1.0.0")Документація на Android Developers: https://developer.android.com/topic/performance/jankstats
Приклад використання на GitHub: https://github.com/android/performance-samples/tree/main/JankStatsSample
Android Developers
JankStats Library | App quality | Android Developers
The JankStats library helps track and analyze performance issues in Android applications by reporting on application frames that take too long to render, offering capabilities like jank heuristics and UI state context.
🔥16❤1
Сьогодні варто познайомитись з моєю новою публікацією на Medium 😀 Там ви дізнаєтесь про те, як можна застосувати інтерфейси та механізм делегування в Kotlin для мапінгу даних та для спрощення роботи зі State-класами.
https://medium.com/@rom.andrushchenko/simplify-mappings-with-kotlin-interfaces-2488125d2ba9
https://medium.com/@rom.andrushchenko/simplify-mappings-with-kotlin-interfaces-2488125d2ba9
Medium
How to simplify State and Entity mappings with Kotlin interfaces, delegation and covariant generics
While data classes are the go-to solution, there is a powerful yet underutilized approach that can reduce boilerplate in your code.
🔥35❤2🤯1
Раптово-неочікувано вчора вийшла стабільна версія Jetpack Navigation v3. Пора знову мігрувати свої проекти 😄
https://android-developers.googleblog.com/2025/11/jetpack-navigation-3-is-stable.html
https://android-developers.googleblog.com/2025/11/jetpack-navigation-3-is-stable.html
Android Developers Blog
Jetpack Navigation 3 is stable
News and insights on the Android platform, developer tools, and events.
🤣6🤨4❤1🥰1