Подробная статья про KSP, теория и практика
#android #kotlin #ksp
https://medium.com/@umpteenthdev/kotlin-symbol-processing-from-theory-to-practice-e85f980eb67e
#android #kotlin #ksp
https://medium.com/@umpteenthdev/kotlin-symbol-processing-from-theory-to-practice-e85f980eb67e
Сводка последних новостей от JetBrains:
Product News
- Compose Multiplatform 1.6.0 – resources, UI testing, iOS accessibility, and preview annotation
- Amper update – February 2024
- The Ktor roadmap for 2024
Survey
- Configuration Language Survey – help shape the future of build configurations
Google Summer of Code
- Become a Kotlin Google Summer of Code contributor and make an impact!
Advent of Code in Kotlin
- Celebrating our participants and their solutions
Livestream Recordings
- Strategies for successful conference talks
- Data analytics with Kotlin notebooks
Education
- Learn to refactor using your IDE for better Kotlin code
#android #kotlin #jetbrains #compose
https://blog.jetbrains.com/kotlin/2024/03/kotlin-roundup-feb-march-24/
Product News
- Compose Multiplatform 1.6.0 – resources, UI testing, iOS accessibility, and preview annotation
- Amper update – February 2024
- The Ktor roadmap for 2024
Survey
- Configuration Language Survey – help shape the future of build configurations
Google Summer of Code
- Become a Kotlin Google Summer of Code contributor and make an impact!
Advent of Code in Kotlin
- Celebrating our participants and their solutions
Livestream Recordings
- Strategies for successful conference talks
- Data analytics with Kotlin notebooks
Education
- Learn to refactor using your IDE for better Kotlin code
#android #kotlin #jetbrains #compose
https://blog.jetbrains.com/kotlin/2024/03/kotlin-roundup-feb-march-24/
The JetBrains Blog
Kotlin Roundup: Unveiling the New Compose Multiplatform Release, Amper Update, and More! | The Kotlin Blog
Unveiling the New Compose Multiplatform Release, Amper Update, and other Kotlin ecosystem news.
Привет, Хабр! Меня зовут Алексей, я ведущий разработчик платформенной команды и по совместительству лид архитектурной компетенции в проекте Альфа-Бизнес. Сегодня я расскажу, как можно автоматизировать повторяющуюся работу в андроид-разработке при помощи плагина для Android Studio.
#android #androidstudio
https://habr.com/ru/companies/alfa/articles/799873/
#android #androidstudio
https://habr.com/ru/companies/alfa/articles/799873/
Хабр
Автоматизируем рутину в Android разработке: плагин для создания шаблонного кода на примере создания -api -impl модулей
Привет, Хабр! Меня зовут Алексей, я ведущий разработчик платформенной команды и по совместительству лид архитектурной компетенции в проекте Альфа-Бизнес. Сегодня я расскажу, как можно автоматизировать...
Очередная статья о том, что такое Kotlin Multiplatform и почему имеет смысл его использовать
- What is Kotlin Multiplatform?
- How does Kotlin Multiplatform differ from other cross-platform solutions?
- When should you choose KMP?
- Top apps made with Kotlin Multiplatform
#android #kotlin #kmp
https://www.thedroidsonroids.com/blog/what-is-kotlin-multiplatform
- What is Kotlin Multiplatform?
- How does Kotlin Multiplatform differ from other cross-platform solutions?
- When should you choose KMP?
- Top apps made with Kotlin Multiplatform
#android #kotlin #kmp
https://www.thedroidsonroids.com/blog/what-is-kotlin-multiplatform
Я — Денис, Android-разработчик в «Лайв Тайпинге». В этой статье я продолжу рассказывать о современных подходах разработки адаптивного UI/UX для людей с ограниченными возможностями, разных национальностей и особенностями развития. В этой статьей я расскажу про разработку интерфейсов в XML и Compose для варьирующего размера шрифта. А также покажу почему атрибут contentDescription так важен.
#android #design #ux #compose
https://habr.com/ru/articles/798473/
#android #design #ux #compose
https://habr.com/ru/articles/798473/
Хабр
Как увеличить шрифт так, чтобы контейнер не поехал? Адаптация UI/UX для людей с проблемами зрения в XML и Compose
Я — Денис, Android-разработчик в «Лайв Тайпинге». В этой статье я продолжу рассказывать о современных подходах разработки адаптивного UI/UX для людей с ограниченными возможностями, разных...
Новый Compose урок по теме - Input.
Используем функцию awaitPointerEvent для отслеживания простых событий типа click, swipe и long press.
Рассматриваем прочие await* функции: awaitFirstDown, awaitLongPressOrCancellation, awaitDragOrCancellation, waitForUpOrCancellation, awaitEachGesture.
#android #course #compose
https://startandroid.ru/ru/courses/compose.html
Используем функцию awaitPointerEvent для отслеживания простых событий типа click, swipe и long press.
Рассматриваем прочие await* функции: awaitFirstDown, awaitLongPressOrCancellation, awaitDragOrCancellation, waitForUpOrCancellation, awaitEachGesture.
#android #course #compose
https://startandroid.ru/ru/courses/compose.html
Обзор второго Android 15 Developer Preview
Updating Android communications
- Satellite support
- Smoother NFC experiences
Developer productivity
- PDF Improvements
- Automatic language switching refinements
- Granular line break controls
- Expanded IntentFilter Functionality
- More OpenJDK API support
Giving your app more flexibility on more screens
- Cover screen support
A more private, secure Android
- Screen record detection
Making Android more efficient
- ApplicationStartInfo API
- Changes to package stopped state
- Detailed app size information
- Changes to foreground services
- SQLite database
Media refinements
- HDR Headroom Control
- Loudness Control
- Use Spatializer instead of Virtualizer
Behavior changes
- Elegant fonts everywhere
User Experience
#android #preview
https://android-developers.googleblog.com/2024/03/the-second-developer-preview-of-android-15.html
https://commonsware.com/blog/2024/03/23/random-musings-android-15-developer-preview-2.html
Updating Android communications
- Satellite support
- Smoother NFC experiences
Developer productivity
- PDF Improvements
- Automatic language switching refinements
- Granular line break controls
- Expanded IntentFilter Functionality
- More OpenJDK API support
Giving your app more flexibility on more screens
- Cover screen support
A more private, secure Android
- Screen record detection
Making Android more efficient
- ApplicationStartInfo API
- Changes to package stopped state
- Detailed app size information
- Changes to foreground services
- SQLite database
Media refinements
- HDR Headroom Control
- Loudness Control
- Use Spatializer instead of Virtualizer
Behavior changes
- Elegant fonts everywhere
User Experience
#android #preview
https://android-developers.googleblog.com/2024/03/the-second-developer-preview-of-android-15.html
https://commonsware.com/blog/2024/03/23/random-musings-android-15-developer-preview-2.html
Поговорим сегодня про context receivers — фиче Kotlin, про которую я узнал давно, но смог найти применение лишь пару месяцев назад. Расскажу о том, что такое context receivers, где их можно использовать, и, конечно же, про «успешный успех» — минус 60% самописного DI в Ozon ID SDK. Но обо всём по порядку.
#kotlin #android #contextreceivers
https://habr.com/ru/companies/ozontech/articles/802641/
#kotlin #android #contextreceivers
https://habr.com/ru/companies/ozontech/articles/802641/
Хабр
Context receivers — новые extension functions
Думаю, не раскрою большой секрет, что Ozon разработал энное количество мобильных приложений: для покупателей, для продавцов, банк и т. д. В каждом из них требуется авторизация. Для этого существует...
Новый Compose урок по теме - Input.
Разбираемся что такое Consumed статус. Используем его в своем обработчике кликов с прошлых уроков. Это позволит корректно ловить клики, когда один Box находится над другим.
#android #course #compose
https://startandroid.ru/ru/courses/compose.html
Разбираемся что такое Consumed статус. Используем его в своем обработчике кликов с прошлых уроков. Это позволит корректно ловить клики, когда один Box находится над другим.
#android #course #compose
https://startandroid.ru/ru/courses/compose.html
Accessibility Scanner в Android
Исследования показывают, что максимальный процент выявленных проблем с accessibility составляет 40-50%. Поэтому ручное тестирование всегда необходимо. Но для этих 40-57% есть несколько инструментов, которые можно использовать. Один из них — Accessibility Scanner, и в этой статье я расскажу о том, как протестировать с его помощью ваше приложение. Давайте начнем с того, что это такое.
#android #accessibility
https://habr.com/ru/articles/805281
Исследования показывают, что максимальный процент выявленных проблем с accessibility составляет 40-50%. Поэтому ручное тестирование всегда необходимо. Но для этих 40-57% есть несколько инструментов, которые можно использовать. Один из них — Accessibility Scanner, и в этой статье я расскажу о том, как протестировать с его помощью ваше приложение. Давайте начнем с того, что это такое.
#android #accessibility
https://habr.com/ru/articles/805281
Хабр
Accessibility Scanner в Android
Я — Денис, Middle Android-разработчик в «Лайв Тайпинге». В этой статье я расскажу об инструменте тестирования accessibility в Android приложениях. Введение Исследования показывают, что максимальный...
Давайте в общих чертах рассмотрим вопросы взлома и защиты Android-приложений.
В рамках статьи нас интересуют сами процессы взлома и защиты, а не конкретные методики работы с конкретными инструментами. Поэтому разберёмся с этими процессами и постараемся сделать выводы. Чтобы читать было интереснее, я решил попеременно ставить себя и на место нападающего, и на место защищающего приложение человека. Что-то вроде шахмат: сначала ход делает нападающий, а затем защищающийся. Пока кто-то не победит. Пройдём путь, постепенно наращивая сложность, от простого вроде HTTPS — к более сложному, вроде обфускации и деобфускации, изменению поведения. И под конец перейдём к C++ и просмотру его Assembler кода.
#android #security
https://habr.com/ru/companies/cian/articles/804835/
В рамках статьи нас интересуют сами процессы взлома и защиты, а не конкретные методики работы с конкретными инструментами. Поэтому разберёмся с этими процессами и постараемся сделать выводы. Чтобы читать было интереснее, я решил попеременно ставить себя и на место нападающего, и на место защищающего приложение человека. Что-то вроде шахмат: сначала ход делает нападающий, а затем защищающийся. Пока кто-то не победит. Пройдём путь, постепенно наращивая сложность, от простого вроде HTTPS — к более сложному, вроде обфускации и деобфускации, изменению поведения. И под конец перейдём к C++ и просмотру его Assembler кода.
#android #security
https://habr.com/ru/companies/cian/articles/804835/
Хабр
Игра в безопасность Android-приложений
Давайте в общих чертах рассмотрим вопросы взлома и защиты Android-приложений. В рамках статьи нас интересуют сами процессы взлома и защиты, а не конкретные методики работы с конкретными...
Первая бета Android 15, список изменений
- Edge-to-edge
- Smoother NFC experiences - part 2
- Inter-character justification
- App archiving
- App-managed profiling
- Better Braille
- Key management for end-to-end encryption
- Secured background activity launches
- App compatibility
#android
https://commonsware.com/blog/2024/04/13/random-musings-android-15-beta-1.html
https://android-developers.googleblog.com/2024/04/the-first-beta-of-android-15.html
- Edge-to-edge
- Smoother NFC experiences - part 2
- Inter-character justification
- App archiving
- App-managed profiling
- Better Braille
- Key management for end-to-end encryption
- Secured background activity launches
- App compatibility
#android
https://commonsware.com/blog/2024/04/13/random-musings-android-15-beta-1.html
https://android-developers.googleblog.com/2024/04/the-first-beta-of-android-15.html
CommonsWare: Android App Development Books
Random Musings on the Android 15 Beta 1
We already have an Android 15 beta! Mark examines what's inside, particularly focusing on things that Google is not (yet) talking about.
Действительно ли RxJava так плоха, что ей не осталось места в наших приложениях? Используется ли она сейчас на проектах? Есть ли смысл изучать RxJava новичку?
#android #rxjava
https://habr.com/ru/articles/807925/
#android #rxjava
https://habr.com/ru/articles/807925/
Хабр
RxJava — всё?
Статья написана при поддержке канала Mobile Developer . В “далеком” 2018 г. разработчик компании EPAM Systems Владимир Иванов провел опрос среди своих подписчиков в Twitter, пытаясь узнать, какой...
Пример использования нового Power Profiler. Он отображает уровень потребления энергии различными системными компонентами (WLAN, CPU, Memory). Это дает возможность наглядно увидеть, насколько можно снизить энергопотребление, уменьшив качество воспроизводимого видео.
#android #androidstudio #performance #profiler
https://android-developers.googleblog.com/2024/04/how-to-effectively-ab-test-power-consumption-for-your-android-app-features.html
#android #androidstudio #performance #profiler
https://android-developers.googleblog.com/2024/04/how-to-effectively-ab-test-power-consumption-for-your-android-app-features.html
This media is not supported in your browser
VIEW IN TELEGRAM
Новый Compose урок по теме - Input.
Разбираемся, как событие проходит через компоненты 3 раза, и как это можно использовать.
#android #course #compose
https://startandroid.ru/ru/courses/compose.html
Разбираемся, как событие проходит через компоненты 3 раза, и как это можно использовать.
#android #course #compose
https://startandroid.ru/ru/courses/compose.html
В третьей части серии статей о ViewModel Best Practices обсуждают следующие пункты:
- Try not to import Android dependencies in the ViewModels:
- Lazily inject dependencies in the constructor.
#android #viewmodel
https://proandroiddev.com/mastering-android-viewmodels-essential-dos-and-donts-part-3-%EF%B8%8F3%EF%B8%8F%E2%83%A3-1833ce3ddd2b
- Try not to import Android dependencies in the ViewModels:
- Lazily inject dependencies in the constructor.
#android #viewmodel
https://proandroiddev.com/mastering-android-viewmodels-essential-dos-and-donts-part-3-%EF%B8%8F3%EF%B8%8F%E2%83%A3-1833ce3ddd2b
DI фреймворки бывают двух видов: те, что строят свой граф зависимостей во время компиляции (compile time фреймворки), и те, которые делают это уже при выполнении кода (runtime фреймворки).
Kodein — типичный представитель runtime фреймворков. Это значит, что о пропущенной зависимости вы узнаете непосредственно в процессе работы приложения, что может стать неприятным сюрпризом. Только представьте себе: вы пропустили на регрессе какой-то кейс, и у вас краш в продакшене из-за DI! Это же настоящий кошмар!
Но неужели нам придётся отказываться от Kodein или других runtime фреймворков? Что можно сделать, чтобы сделать их более надёжными? Есть ответ! Мы переведём наш DI из разряда runtime проверок в разряд deploy time проверок.
Это третья статья из цикла материалов про Kodein DI для Android
#android #kodein #di
https://habr.com/ru/companies/dododev/articles/807969/
Kodein — типичный представитель runtime фреймворков. Это значит, что о пропущенной зависимости вы узнаете непосредственно в процессе работы приложения, что может стать неприятным сюрпризом. Только представьте себе: вы пропустили на регрессе какой-то кейс, и у вас краш в продакшене из-за DI! Это же настоящий кошмар!
Но неужели нам придётся отказываться от Kodein или других runtime фреймворков? Что можно сделать, чтобы сделать их более надёжными? Есть ответ! Мы переведём наш DI из разряда runtime проверок в разряд deploy time проверок.
Это третья статья из цикла материалов про Kodein DI для Android
#android #kodein #di
https://habr.com/ru/companies/dododev/articles/807969/
Хабр
Kodein DI для Android. Целостность графа и тесты на DI
DI фреймворки бывают двух видов: те, что строят свой граф зависимостей во время компиляции (compile time фреймворки), и те, которые делают это уже при выполнении кода (runtime фреймворки). Kodein —...
Статья о создании своего плагина в Android Studio, часть 1.
Судя по всему, в итоге автор собирается создать плагин для работы с ADB
#android #androidstudio #plugin
https://medium.com/@farhaddeveloper98/write-androidstudio-plugin-step-by-step-part1-create-simple-action-toolwindow-with-custom-ui-01aeefceec94
Судя по всему, в итоге автор собирается создать плагин для работы с ADB
#android #androidstudio #plugin
https://medium.com/@farhaddeveloper98/write-androidstudio-plugin-step-by-step-part1-create-simple-action-toolwindow-with-custom-ui-01aeefceec94
Medium
Write AndroidStudio Plugin Step By Step, Part1: Create Simple Action & ToolWindow with Custom UI.
Crafting Your First Android Studio Plugin
Статья о производительности нового K2 компилятора. Сравнивают сборки на Kotlin 1.9.23 и Kotlin 2.0.0, версия Gradle - 8.5.
#android #kotlin #performance
https://blog.jetbrains.com/kotlin/2024/04/k2-compiler-performance-benchmarks-and-how-to-measure-them-on-your-projects/
#android #kotlin #performance
https://blog.jetbrains.com/kotlin/2024/04/k2-compiler-performance-benchmarks-and-how-to-measure-them-on-your-projects/
The JetBrains Blog
K2 Compiler Performance Benchmarks and How to Measure Them on Your Projects | The Kotlin Blog
Dive into the K2 compiler’s performance benchmarks and learn how to measure performance in your own projects.
This media is not supported in your browser
VIEW IN TELEGRAM
Новый Compose урок по теме - Input.
Разбираемся, как под капотом работают Indication и InteractionSource.
Создаем различные кастомные визуальные индикации клика, в том числе и свой разноцветный Ripple.
#android #course #compose
https://startandroid.ru/ru/courses/compose.html
Разбираемся, как под капотом работают Indication и InteractionSource.
Создаем различные кастомные визуальные индикации клика, в том числе и свой разноцветный Ripple.
#android #course #compose
https://startandroid.ru/ru/courses/compose.html