Интерактивные истории с ИИ

Хайп вокруг ИИ не утихает и поэтому я решил сделать приложение с интерактивными историями, где сюжет генерирует ИИ. На самом деле мне нравится играть в игры с нелинейным сюжетом. В игры, где ты сам можешь выбирать путь. Однако большинство таких игр имеют лишь небольшое количество заранее написанных сценариев. Это не позволяет в полной мере ощутить свободу выбора.

https://habr.com/ru/articles/996704/

#истории #интерактивные_книги #rustore #vk_id #android_development #frontend #backend

Интерактивные истории с ИИ

Хайп вокруг ИИ не утихает и поэтому я решил сделать приложение с интерактивными историями, где сюжет генерирует ИИ. На самом деле мне нравится играть в игры с нелинейным сюжетом. В игры, где ты сам...

Хабр

Про то, как я Storage Access Framework укрощал, да файлы в хранилище приручал

В начале было приложение. И было это приложение для цифровой подписи. Работало оно просто: подписываешь документы на смартфоне, не думая о каких-либо дополнительных токенах. Все упаковано в телефон — и сертификаты, и библиотеки. Процесс знакомый: авторизовался, загрузил файл, подписал. Но вот однажды пользователи стали жаловаться, что не могут найти ранее подписанные документы. Бывало, пользователь подписал файл, долго к нему не возвращался, а спустя время уже не смог его отыскать. Переустановил приложение или авторизовался с другого устройства, и все файлы как в воду канули. Меня зовут Георгий Левченко, я Android-разработчик в ПСБ. Начал я искать источник бед пользовательских. Оказалось, виной всему было то, что все файлы хранились в кэш-директории приложения. Понял я: чтобы файлы не пропадали, им нужен менеджмент для файлов. Отыскался у Android для таких целей готовый инструмент — Storage Access Framework (SAF), он служит для доступа к файлам через стандартный интерфейс без управления разрешениями вручную. Поведаю под катом, как я решал с его помощью эту задачу.

https://habr.com/ru/companies/psb/articles/991676/

#storage_access_framework #android #android_development #разработка_приложений #кэширование #кэширование_данных

Про то, как я Storage Access Framework укрощал, да файлы в хранилище приручал

В начале было приложение. И было это приложение для цифровой подписи. Работало оно просто: подписываешь документы на смартфоне, не думая о каких-либо дополнительных токенах. Все упаковано в телефон —...

Хабр

Решил сделать себе смартфон на Линукс. Linux phone Xiaomi Poco X3 NFC на Ubuntu Touch по шагам

Времена сейчас тяжелые, я как пользователь iPhone, давно чувствую себя неполноценным пользователем смартфона в нашей юрисдикции. А с недавнего времени возглавил команду линуксоидов и потянуло меня на всё линуксовое. Решил, так скажем, стать пингвином. Все началось с того, что выкинул свой макбук, которым пользовался с 2015 года, купил хороший ThinkPad на Ryzen 7 и накатил туда Linux Mint 22.2 и, знаете что, радости моей нет предела, я прям кайфую и пропитываюсь духом опенсорса. Все таки, когда клиентам показываешь преимущества миграции на линукс с мака, есть нотка недоверия к таким ребятам. И для пущей линуксовости, уже второй месяц подумываю пересесть на линуксфон, а еще все это недоверие к корпоратам, подогревает мой интерес. В общем если с тем, как накатить Минт на ноут в целом сложностей нет, то с линуксфоном, не все так просто… погнали разбираться

https://habr.com/ru/articles/982184/

#linux #ubuntu_touch #android #android_development #установка_linux #установка_ubuntu_touch #телефон #смартфон #убунту #тач

Решил сделать себе смартфон на Линукс. Linux phone Xiaomi Poco X3 NFC на Ubuntu Touch по шагам

Времена сейчас тяжелые, я как пользователь iPhone, давно чувствую себя неполноценным пользователем смартфона в нашей юрисдикции. А с недавнего времени возглавил команду линуксоидов и потянуло меня на...

Хабр

Создание кастомного Toolbar с Jetpack Compose. Подробный разбор всех попыток и решений

Привет, Хабр! Меня зовут Максим Сазонов, я android-разработчик в ПСБ. Сегодня предлагаю разобрать путь создания кастомного тулбара от первой кривой реализации до оптимизированного решения. И главная проблема, которую надо решить при создании этого компонента это центрирование title и subtitle. Эта проблема возникает потому что у нас может быть тулбар с разным количеством иконок по обе стороны от заголовка, текстом и иконками или только с title. И если ширина иконок у нас стандартна (44 dp), и достаточно просто умножить эту ширину на количество иконок справа, чтобы понять свободное пространство для title и subtitle, то с текстом с одной или с двух сторон всё намного сложнее, так как мы не можем заранее вычислить ширину этого текста, а значит не можем правильно центрировать и задать ширину title и subtitle. В статье я расскажу, как я решил этот вопрос.

https://habr.com/ru/companies/psb/articles/974368/

#kotlin #android #android_development #jetpack_compose #jetpack #toolbar #custom_toolbar

Создание кастомного Toolbar с Jetpack Compose. Подробный разбор всех попыток и решений

Привет, Хабр! Меня зовут Максим Сазонов, я android-разработчик в ПСБ.  Сегодня предлагаю разобрать путь создания кастомного тулбара от первой кривой реализации до оптимизированного решения. ...

Хабр

Live Updates на Android: где макеты врут, a SDK ставит границы

Весной 2025 года Google представила Live Updates, аналог Live Activity в iOS. Мы быстро запушили продактов — «нам такое надо!» — и потащили фичу в Android-приложение Додо Пиццы. Но всё оказалось не так просто — мы столкнулись с неполной документацией, расхождениями представлений дизайнеров Google и разработчиков этого SDK, и не только. В общем, запасайтесь попкорном. Сегодня расскажем обо всех нюансах в реализации и тестировании Live Updates.

https://habr.com/ru/companies/dododev/articles/969810/

#android #android_development #live_updates #live_activities #мобильная_разработка #мобильная_разработка_android #google #google_io

Live Updates на Android: где макеты врут, a SDK ставит границы

Привет, Хабр! Меня зовут Сергей Орлов, я — Android-разработчик в Dodo Engineering. В этой статье я расскажу, как и зачем мы в приложение Додо Пиццы Live Updates завозили. Сразу скажу, что вы не...

Хабр

Google Регистрация в Android на kotlin + jetpack compose

🚀 Хотите создать регистрацию в стиле Google для своего Android-приложения? 🚀 Забудьте о скучных формах! Погрузитесь в мир плавной анимации, интуитивного дизайна и надежной безопасности – всё это с помощью Kotlin и Jetpack Compose. ✨ Что вас ждет: Пошаговый гайд: От первых строк кода до готового результата – разберемся вместе. Рабочий код: Не просто теория, а готовые решения для вашего проекта. Комментарии эксперта: Поймете каждый шаг и сможете адаптировать код под свои нужды. Секреты профессионалов: Узнаете, как сделать регистрацию не только функциональной, но и привлекательной. 💪 Не упустите шанс прокачать свое приложение! 💪

https://habr.com/ru/articles/958746/

#android_development #android #jetpack_compose #kotlin #google_api

Google Регистрация в Android на kotlin + jetpack compose

Привет всем! Это моя первая статья на Habr. Сегодня мы поговорим о том, как написать регистрацию через Google. Все мы видели, что во многих крупных приложениях есть возможность зарегистрироваться...

Хабр

Что такое ANR и как с ним работать правильно

ANR — это не просто “зависание”, а молчаливый краш, который напрямую бьёт по удержанию пользователей. В статье разбираю, как работает механизм ANR, какие ошибки его вызывают, как анализировать traces.txt, какие библиотеки помогают отслеживать блокировки (ANR-WatchDog, ANR-Spy, Firebase Crashlytics), и как построить процессы, чтобы QA-команда научилась ловить их ещё до релиза.

https://habr.com/ru/articles/958278/

#anr #watchdog #kotlin #java #android #mobile_development #android_development #qa #mobile_qa

Что такое ANR и как с ним работать правильно

Когда пользователь открывает приложение, нажимает на кнопку — и ничего не происходит несколько секунд, Android начинает считать, что “приложение не отвечает”. Через 5 секунд на главном потоке система...

Хабр

Android для новичков: как не наломать дров с корутинами и какие привычки оставить в прошлом

Когда только начинаешь разрабатывать под Android, самые неприятные баги появляются не из-за опечаток, а из-за систематических ошибок. Хардкод строк и цветов, корутины, которые живут сами по себе, попытки писать Compose по старинке, как старые view — всё это превращается в технический долг, который мешает развивать продукт. Знание этих ошибок помогает писать более надёжный код, который не ломается при локализации, смене темы или добавлении новых экранов. К тому же многие из этих проблем часто всплывают на собеседованиях. В статье покажу, почему ошибки превращаются в реальные проблемы, как их обнаружить и исправить. Исправить ошибки в Android-разработке

https://habr.com/ru/companies/netologyru/articles/956346/

#android_разработка #программирование_на_android #начинающие_разработчики #новички_в_android #советы_начинающим #android_development #корутины #хардкод #composable #ошибки_новичков

Android для новичков: как не наломать дров с корутинами и какие привычки оставить в прошлом

Когда только начинаешь разрабатывать под Android, самые неприятные баги появляются не из-за опечаток, а из-за систематических ошибок. Хардкод строк и цветов, корутины, которые живут сами по себе,...

Хабр

Андроид всё еще не готов к RAW-видео

Уверен, что многих возмутит уже само название этой статьи. А некоторые сразу же побегут в комментарии указывать на приложение, которое “смогло”. Но не стоит спешить, друзья! Сегодня вам предстоит увлекательное путешествие по стыку технологий, кода и технических решений, которые и расскажут вам то, о чем адепты съемки мобильного RAW-видео предпочитают не говорить.

https://habr.com/ru/articles/947578/

#mcpro24fps #raw #android #android_apps #android_development #мобильное_приложение #видео #мобильная_видеография

Андроид всё еще не готов к RAW-видео

Уверен, что многих возмутит уже само название этой статьи. А некоторые сразу же побегут в комментарии указывать на приложение, которое “смогло”. Но не стоит спешить, друзья! Сегодня вам предстоит...

Хабр

Как RecyclerView создает магию анимаций: архитектура ItemAnimator под капотом

RecyclerView умеет превращать обычные операции с данными в плавные анимации. Когда вы добавляете элемент в список, остальные элементы плавно расступаются. При удалении — схлопываются. Эта магия происходит благодаря ItemAnimator — механизму, который я сегодня разберу до последнего винтика. В этой статье мы погрузимся в архитектуру системы анимаций RecyclerView, проследим путь от вызова notifyItemInserted() до финальной анимации на экране.

https://habr.com/ru/articles/939594/

#android #recyclerview #animation #viewholder #layoutmanager #android_animation #itemanimator #view_animation #android_ui #android_development

Как RecyclerView создает магию анимаций: архитектура ItemAnimator под капотом

Введение RecyclerView умеет превращать обычные операции с данными в плавные анимации. Когда вы добавляете элемент в список, остальные элементы плавно расступаются. При удалении — схлопываются. Эта...

Хабр