Архив метки: Android

Анонс Swift SDK для Android

Разработчики языка Swift объявили в своём блоге о выпуске предварительной версии Swift SDK для Android. Данным SDK занимается специальная рабочая группа Android, целью которой является добавление и поддержка Android в качестве официально поддерживаемой платформы для языка Swift. С помощью SDK разработчики смогут создавать приложения на Android на языке Swift, что открывает ещё больше возможностей для… Читать далее »

Проблема при выделении текста в TextView на Android 15+

Введение Порой при разработке мобильного приложения (и в целом любого ПО) можно столкнуться с ошибками, которые не зависят от разработчика. Например, проблема внутри одной из подключенных библиотек. В этом случае логичным решением будет либо найти альтернативу, либо написать своё решение. Однако может быть и так, что проблема гораздо масштабнее и так просто не решается. К… Читать далее »

Сборка и публикация приложений с помощью Codemagic CI/CD

Введение Разработка мобильных приложений состоит из нескольких частей, одними из которых являются сборка APK-файла (или AAB) и публикация его в магазинах приложений. И если для небольших приложений эти процессы могут занимать пару минут, то чем больше становится приложение, тем больше времени разработчики тратят на сборку. Даже использование различных средств для ускорения сборки и анализ проблемных… Читать далее »

Сбор и анализ ошибок в приложениях с помощью Tracer

Введение Одна из главных задач при разработке мобильных приложений (и в целом ПО) — создать работоспособную и отказоустойчивую систему. Приложение, которое стабильно работает и выполняет свою функцию так, как задумано, с большей вероятностью привлечёт пользователей, чем приложение, которое закрывается с ошибкой на старте. Более того, плохо работающее приложение может стать причиной негативных оценок, что может… Читать далее »

HTML с кликабельными ссылками и выделением текста в TextView

Когда вы хотите нажать на ссылку внутри TextView, не перенаправляя её во внешний браузер, или установить Spannable с HTML в TextView, то в большинстве случаев достаточно кастомизировать LinkMovementMethod, чтобы сделать ссылку кликабельной, и затем установить его в TextView. setMovementMethod(LinkMovementMethod.getInctance()); Но LinkMovementMethod по умолчанию не поддерживает выделение текста, поэтому придётся переопределить несколько методов, чтобы добиться выделения… Читать далее »

Dispatchers.Unconfined и почему вам на самом деле нужен EmptyCoroutineContext

Dispatchers.Unconfined является одним из встроенных CoroutineDispatchers, входящих в kotlinx.coroutines. Он отличается от других встроенных диспетчеров тем, что не опирается на какой-то конкретный пул потоков. Вместо этого Dispatchers.Unconfined спроектирован так, чтобы никогда не менять поток при входе в его контекст (это называется «диспетчеризацией»). В этом легко убедиться, если посмотреть на его упрощённую реализацию ниже: object Unconfined… Читать далее »

Советы по обработке Insets для обеспечения edge-to-edge на Android 15

Перевод статьи от Android Developers. Согласно внутреннему исследованию Google, пользователи предпочитают экраны edge-to-edge, а не edge-to-edge, как для навигации жестами, так и для навигации тремя кнопками. Рисунок 1. Сверху или слева: приложение edge-to-edge. Фон приложения прорисовывается под строкой состояния сверху и строкой навигации снизу. Снизу или справа: приложение, которое не поддерживает edge-to-edge. Фон и содержимое… Читать далее »

Многопоточность в Android: тогда и сейчас

План Введение Асинхронность и многопоточность Потоки в Android Thread и Runnable Looper и Handler HandlerThread AsyncTask Loader и LoaderManager Executor RxJava Kotlin Coroutines Заключение Введение Исторически сложилось, что разработчик пишет последовательный код. Программа выполняет такой код строчка за строчкой в соответствии с написанным. То есть, когда вызывается какая-либо функция, которая выполняет длительную операцию, то программа… Читать далее »

Перехват сетевых запросов из мобильного приложения

Иногда требуется провести тестирование мобильного приложения и изучить все сетевые запросы, связанные с ним. В онлайн-среде это легко сделать: просто используйте комбинацию клавиш Ctrl + Shift + I, чтобы открыть инструменты разработчика. Затем перейдите на вкладку «Сеть», где можно будет ознакомиться со всеми HTTP-запросами, связанными с веб-страницей, следуя этим шагам: Однако в сфере мобильной разработки… Читать далее »

Спортивные приложения для Android: Strava, Google Fit и другие

Спортивный мир непрерывно развивается, и сегодня многие люди стремятся использовать новые технологии, чтобы улучшить свою физическую форму, достигать лучших результатов в тренировках и даже делать несколько дел одновременно. Пример последнего — приложение Париматч на андроид, в котором можно смотреть прямые трансляции различных спортивных состязаний и молниеносно делать ставки на них. Но в нашей статье мы… Читать далее »