fa
Feedback
StartAndroid

StartAndroid

رفتن به کانال در Telegram

Канал об Android (Андроид) разработке Сайт - http://startandroid.ru Чат - https://t.me/startandroidchat Контакты - https://startandroid.ru/ru/about/cntct5.html Реклама - https://startandroid.ru/ru/about/reklama.html РКН - https://shorturl.at/p7iUr

نمایش بیشتر
9 582
مشترکین
-424 ساعت
-247 روز
-1930 روز
آرشیو پست ها
Статья про внутренние механизмы плагина компилятора kotlinx.serialization, от стратегии генерации промежуточного представления в два прохода до оптимизации с помощью золотой маски для проверки обязательных полей. #kotlin #serialization https://www.revenuecat.com/blog/engineering/kotlinx-serialization/

В подкасте Android Developers Backstage обсуждают R8 Chapters: 0:00 - Intro 0:23 - What is R8? 1:16 - R8 vs D8 1:40 - Tree Shaking & Dead Code 4:14 - Handling Reflection 10:10 - Performance Co-Optimization 13:03 - Kotlin-Specific Gains 16:22 - Real-World Impact 41:50 - Jetpack Compose & R8 50:51 - Keep annotations 1:03:49 - The "Free Hardware Upgrade" #android #build #r8 https://adbackstage.libsyn.com/whats-so-great-about-r8 https://www.youtube.com/watch?v=0B07A_c45_o

👨‍💻 Вы пишете адаптеры для RecyclerView и чувствуете, что делаете это не так Когда список простой — всё понятно. Но стоит добавить разные типы элементов, свайпы или drag-and-drop, код превращается в месиво условий и костылей. Работает, но выглядит не по-профессиональному. Разница между junior и middle — не в том, умеете ли вы делать списки. А в том, как вы это делаете. 🗓 25 февраля в 20:00 — открытый урок «Работаем со списками как профессионалы» Разберём то, что отличает рабочий код от профессионального: разнородные элементы, ItemViewType, перетаскивание и смахивание без костылей. Что рассмотрим: ✅как правильно работать с разными типами элементов в одном списке ✅ как реализовать drag-and-drop и swipe-to-dismiss ✅ как писать чистый, поддерживаемый код для сложных адаптеров ❗️После урока вы поймёте, как делать списки на уровне middle-разработчика. Без велосипедов, по стандартам индустрии. Урок проходит в преддверии старта курса «Android Developer. Professional». Все участники получат скидку на обучение. ➡️ Регистрация по ссылке: https://otus.pw/WdZM7/ Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru

Вышла первая бета Android 17 What's new: Orientation and resizability restrictions - Key Changes for SDK 37 - Exemptions and User Control - Updates to configuration changes Performance - Lock-free MessageQueue - Generational garbage collection - Static final fields now truly final - Custom Notification View Restrictions - New performance debugging ProfilingManager triggers Media and Camera - Dynamic Camera Session Updates - Logical multi-camera device metadata - Versatile Video Coding (VVC) support - Constant Quality for Video Recording - Background Audio Hardening Privacy and Security - Deprecation of Cleartext Traffic Attribute - HPKE Hybrid Cryptography Connectivity and Telecom - Enhanced VoIP Call History - Wi-Fi Ranging and Proximity Developer Productivity and Tools - Updates for companion device apps #android #beta #release https://android-developers.googleblog.com/2026/02/the-first-beta-of-android-17.html https://android-developers.googleblog.com/2026/02/prepare-your-app-for-resizability-and.html

Я работаю на проекте Android приложения Альфа-банка для физических лиц. Для нашего большого проекта это время — больная тема, так как у нас около 800 модулей и большая часть кода полностью покрыта unit тестами (за некоторыми исключениями, например, view классы). Сейчас у нас почти 6000 spec (тест-классов) в которых 37 000 тест-кейсов. Общее время прогона всех тестов на CI превышало 3 часа. Локально все тесты прогнать вообще было утопией, так как вероятнее всего сборка просто падала от нехватки оперативной памяти. Сейчас все тесты проекта мы научились прогонять за честные 12 минут и я расскажу что для этого потребовалось.
#android #gradle  #performance https://habr.com/ru/companies/alfa/articles/993352/

🤖 AI в практике разработчиков: новый сезон Podlodka AI Crew «Мы поигрались с промптом, но пока не внедряли» — часто разговор
🤖 AI в практике разработчиков: новый сезон Podlodka AI Crew «Мы поигрались с промптом, но пока не внедряли» — часто разговоры про AI в разработке заканчиваются именно так. Инструментов всё больше, а вот времени на то, чтобы разобраться и сделать так, чтобы магия заработала, порой не хватает. С 16 по 20 февраля у Podlodka AI Crew пройдёт сезон «AI-агенты в разработке»: проверенные рабочие сценарии от практиков индустрии. 👀 В программе: единый AI-workflow для разработчика автоматизация стендапов и работы с документацией Claude Code, субагенты для кодинга практические кейсы внедрения AI в SRE подходы к созданию промптов с насыщенным контекстом Формат — классический для Podlodka Crew: 5 дней, 10+ спикеров, 10 сессий и закрытое комьюнити в Telegram. Отдельный плюс — цена: заметно ниже привычных конференций, при этом контента много, и он ориентирован на практику. 👉🏻Если тема AI в разработке вам интересна и хочется меньше хайпа, больше дела — держите ссылку. А по промокоду START_AI получите скидку🎁

Несмотря на недостатки, я считаю возможным оставить SP в проекте, если он используется в нескольких местах приложения, не используется в Compose, лишние данные очищаются, нет работы с большими объектами, а так же проект сам по себе не перегружен другими операциями. Как только одно из условий нарушается, работа с SP может хоть и не испортить ситуацию самостоятельно, но сыграть роль накопителя нагрузки. Если вы видите у себя в проекте странные ANR , связанные с SP, а так же ваш проект подходит под описание выше, то данные видимые проблемы становятся аргументами для переходу на Datastore.
#android #preferences #datastore https://habr.com/ru/companies/alfa/articles/991556/

Ниже расскажу, как паттерн Memento реализуется в Android через CustomView, SavedStateHandle, Compose и навигацию. Основное внимание уделю CustomView — недооцененному способу сохранения состояния, который позволяет держать экраны легкими. View сама знает, что сохранять и как восстанавливать, без необходимости тащить все в Activity или Fragment. Также рассмотрю типичные ошибки, ограничения Bundle и методы тестирования восстановления после process death.
#android  #state https://habr.com/ru/articles/990568/

🤖 Android-приложение — это не просто набор экранов и кнопок. За ним стоит чёткая системная архитектура: sandbox, IPC, жизнен
🤖 Android-приложение — это не просто набор экранов и кнопок. За ним стоит чёткая системная архитектура: sandbox, IPC, жизненные циклы и компоненты, от понимания которых зависит стабильность, безопасность и масштабируемость приложения. На открытом вебинаре OTUS подробно разберём, как Android-приложение работает внутри системы. Поговорим о sandbox и взаимодействии с ОС, разберём обмен данными между приложениями и заглянем под капот Binder IPC. Этот урок поможет выстроить фундаментальное понимание платформы Android. Без него сложно осознанно проектировать приложения, принимать архитектурные решения и двигаться дальше от простых примеров к промышленной разработке. 📆 Встречаемся 5 февраля в 20:00 МСК в преддверии старта курса «Android Developer». Регистрация открыта: https://otus.pw/XamT/ Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru

Переводим проекты на Android Gradle Plugin 9.0 #kotlin #android #gradle https://blog.jetbrains.com/kotlin/2026/01/update-your-projects-for-agp9/

Небольшой видеокурс от команды Gradle о том, как создавать Gradle плагины #gradle https://www.youtube.com/playlist?list=PLLQbIfXVLZqF49D6ATgAB5m6TYDzdkPpu

Что нового в Kotlin 2.3.0 Language: more stable and default features, unused return value checker, explicit backing fields, and changes to context-sensitive resolution. Kotlin/JVM: support for Java 25. Kotlin/Native: improved interop through Swift export, faster build time for release tasks, C and Objective-C library import in Beta. Kotlin/Wasm: fully qualified names and new exception handling proposal enabled by default, as well as new compact storage for Latin-1 characters. Kotlin/JS: new experimental suspend function export, LongArray representation, unified companion object access, and more. Gradle: compatibility with Gradle 9.0 and a new API for registering generated sources. Compose compiler: stack traces for minified Android applications. Standard library: stable time tracking functionality and improved UUID generation and parsing. #kotlin  https://kotlinlang.org/docs/whatsnew23.html

🤖Уведомления в Android — это важный инструмент взаимодействия с пользователем, который напрямую влияет на вовлечённость, retention и пользовательский опыт. Ошибки в работе с уведомлениями — частая проблема у начинающих Android-разработчиков. 📆На открытом вебинаре OTUS разберём все виды уведомлений в Android: от базовых до более продвинутых сценариев. Покажем, какие типы уведомлений существуют, чем они отличаются и в каких случаях используются. Все примеры — с разбором кода и практической реализацией. За один вебинар вы получите системное понимание уведомлений в Android и научитесь внедрять их в свои проекты осознанно, а не методом проб и ошибок. Это базовый навык, без которого невозможно двигаться дальше в Android-разработке. 💥Встречаемся 27 января в 20:00 МСК в преддверии старта курса «Android Developer». Регистрация открыта: https://otus.pw/H934/ Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Что нового в Android Studio Otter 3 Feature Drop - Bring Your Own Model: You can now use any LLM to power the AI functionality in Android Studio. - Agent Mode Enhancements: You can now more easily have Agent Mode interact with your app on devices, review and accept suggested changes, and have multiple conversations threads. - Run user journey tests using natural language: with Journeys in Android Studio. - Enable Agent Mode to connect to more tools: including the ability to connect to remote servers via MCP. - Build, iterate and test your UI: with UI agentic experiences in Android Studio.  - Build deep links using natural language: with the new app links assistant.  - Debug R8 optimized code: with Automatic Logcat retracing. - Simplify Android library modules: with the Fused library plugin. #androidstudio  https://android-developers.googleblog.com/2026/01/llm-flexibility-agent-mode-improvements.html

Вышел стабильный Compose Hot Reload 1.0.0. Он позволяет видеть изменения UI кода в Compose Multiplatform без рестарта приложения. Пост описывает некоторые технические аспекты и дает поверхностное представление о том, как этот механизм работает под капотом #compose #hotreload #multiplatform https://blog.jetbrains.com/kotlin/2026/01/the-journey-to-compose-hot-reload-1-0-0/

Статья рассматривает Jetpack Compose под капотом, чтобы показать его, как инструмент не только для создания UI, но и для построения древовидных структур и управления их состоянием.  #compose https://proandroiddev.com/compose-for-di-35b44ba4099b

Что нового в Kotlin 2.3.0 Language: more stable and default features, unused return value checker, explicit backing fields, and changes to context-sensitive resolution. Kotlin/JVM: support for Java 25. Kotlin/Native: improved interop through Swift export, faster build time for release tasks, C and Objective-C library import in Beta. Kotlin/Wasm: fully qualified names and new exception handling proposal enabled by default, as well as new compact storage for Latin-1 characters. Kotlin/JS: new experimental suspend function export, LongArray representation, unified companion object access, and more. Gradle: compatibility with Gradle 9.0 and a new API for registering generated sources. Compose compiler: stack traces for minified Android applications. Standard library: stable time tracking functionality and improved UUID generation and parsing. #kotlin  https://kotlinlang.org/docs/whatsnew23.html

Всё, что нужно знать о публикации в Google Play
Этой статьей хочу внести больше ясности в процесс и уберечь других разработчиков от лишней траты времени, которая часто возникает из-за ошибок на разных этапах. Расскажу о подводных камнях, частых ошибках и о том, как бесплатно и быстро набрать тестировщиков. Вся информация, описанная в этой статье, получена на собственном опыте, а также из обсуждения с участниками сообщества по взаимному тестированию
#android #googleplay  https://habr.com/ru/articles/974016/

Что нового в Jetpack Compose December '25 Performance improvements - Pausable composition in lazy prefetch New features - Retain - Material 1.4 New animation features - Dynamic shared elements - Modifier.skipToLookaheadPosition() - Initial velocity in shared element transitions - Veiled transitions Upcoming changes - Deprecation of Modifier.onFirstVisible - Coroutine dispatch in tests Tools #android #compose https://android-developers.googleblog.com/2025/12/whats-new-in-jetpack-compose-december.html

🤖 Как сделать свой оператор Flow и не сломать логику приложения Когда стандартных операторов Flow становится мало — значит, вы вышли на следующий уровень. На открытом уроке вы узнаете, как писать свои операторы для сложных сценариев, управлять потоками данных и правильно обрабатывать события в Kotlin. Мы покажем, как реализовать собственный оператор, работать с несколькими потоками в рамках одного и не потерять производительность. ❗️ Разберём подходы, которые помогают писать читаемый и поддерживаемый асинхронный код. Урок будет полезен Android-разработчикам уровня junior+, которые уже знакомы с Flow и хотят разобраться, как расширять его под реальные задачи. 🗓 8 декабря, 20:00 МСК. Открытый урок проходит в преддверии старта курса «Android Developer. Professional». Регистрация открыта: https://otus.pw/NhLTf/ Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576