Обновить
512K+

Android *

Пишем под самую популярную мобильную ОС

209,05
Рейтинг
Сначала показывать
Порог рейтинга
Уровень сложности

Видео с прозрачностью на Jetpack Compose – запросто

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели6.1K

Статья рассчитана на читателя продвинутого уровня, уже знакомого с Jetpack Compose и Android‑разработкой в целом.

Привет! Меня зовут Владимир, и я мобильный разработчик в компании Финам. В своей практике мы активно используем Android Jetpack Compose, который зарекомендовал себя с лучшей стороны.

В статье я хочу показать простой способ решения известной в Android‑разработке проблемы — проигрывания видео‑файла с полноценной прозрачностью. В Compose для этого пока нет готовых компонентов, поэтому разработчику приходится придумывать разные хитрости.

Какая может быть польза от этого решения? Ответ очевиден — любая сложная анимация в приложении с минимальным размером. Например, мультик на картинке для привлечения внимания занимает всего 370 КБ памяти при размере кадра 480×270.

Узнать как

Kotlin Coroutines под капотом

Время на прочтение36 мин
Охват и читатели59K

Вероятнее всего у вас спрашивали на собесе «как работают корутины под капотом?», вы не долго думая выбрасывали что‑то в стиле «там под капотом стейт‑машина, она определяет какая suspend функция будет выполняться», но понимали ли вы на самом деле о чем говорили? Возможно, но если честно я плохо понимал собственные ответы на такие вопросы и даже после десятка пройденных собесов у меня не было полноценной картины как работает внутрянка этой поистине невероятной библиотеки «сладкой асинхрон

Читать далее

Первый взгляд на переход с Xamarin Native на Flutter

Уровень сложностиПростой
Время на прочтение12 мин
Охват и читатели10K

Привет! Меня зовут Егор, сейчас я работаю в компании DD Planet, а разработкой мобильных приложений я занимаюсь уже более двух лет. В этой статье хочу поделиться своим опытом перехода с Xamarin Native на Flutter. Постараюсь сравнить два фреймворка с точки зрения личного опыта, расскажу о своих старых заблуждениях касательно декларативных фреймворков, которые развенчал опыт работы с Flutter, а в конце статьи порассуждаю о своем идеальном мобильном фреймворке мечты.

Читать далее

Русификация Lixiang. Принципы получения доступа к ПО китайских автомобилей

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели53K

Как русифицировать китайские автомобили? Как не наделать кирпичей окирпичивая машину дороже 10 млн. руб? Я работаю с программным обеспечением китайских автомобилей, одна из самых популярных моделей на сегодняшний день это Lixiang, именно на ее примере я и покажу как обычно или, наоборот необычно, русифицируются автомобили.

Живем мы в интересное время. Абзац ниже касается практически всех премиальных китайских автобрендов.

Применяя определенную степень упрощения к статистике, которая, перефразируя пословицу, является производной от лжи, будем опираться на твердые факты из первых ссылок в поисковике. На конец 2023 года число реализованных машин этой марки уже составляло 376030 штук. Зарегистрировано же на текущий момент в РФ более 20.000 автомобилей Lixiang. РФ является лидером среди стран, куда импортированы авто этой марки. Это следствие совпадения ухода западных автобрендов и бурный расцвет китайского автопрома. Держим это в уме, теперь следующая часть эриксоновской петли.

Кроме этого имеем санкции и американское участие в капитале автопроизводителей. Русский и Китаец братья навеке, но Китай умеет мыслить столетиями, по всей видимости в горизонте планирования в несколько сотен лет

Погрузиться внутрь

Мобильная разработка за неделю #545 (1 — 7 июля)

Время на прочтение4 мин
Охват и читатели2.6K
В новом дайджесте макросы и типизированные ошибки, форматирование кода и Unit-тесты, «железо» для Android Studio, переход на docs as code, возвращение Myspace для Поколения Z, AirPods с камерами и многое другое. Подключайтесь!

Подписывайтесь на наш Telegram-канал Mobile Insights, где еще больше материалов для мобильных разработчиков. А в IT Insights — много об интересном коде и технологиях.

Читать дальше →

Как я перестал волноваться и полюбил ошибки в корутинах: поймай меня если сможешь

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели7.1K

Если опираться на предыдущую статью (ссылка), то по отношению к корутине можно сказать что на андроиде она вызовет краш приложения, если не был переопределен Thread.UncaughtExceptionHandler потока.

Но во всех ли случаях такое будет? Или можно ли не изменяя корутину и не изменяя Thread.UncaughtExceptionHandler потока помешать данной корутине закрыть приложение с крашем?

Читать далее

«Железо» для Android Studio (gradle-сборка) в 2024 году

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели14K

Если вы используете Android Studio в работе, то, высока вероятность, что рано или поздно зададитесь вопросом – что можно «проапгрейдить» в железе, для повышения производительности, и что от этого ожидать? Если посмотреть официальные рекомендации (https://developer.android.com/studio/install), то они довольно скудные и особой ясности не вносят. На хабре на эту тему уже была довольно интересная статья с подробными разборами «что-на-что» влияет - https://habr.com/ru/companies/cian/articles/715640/. Здесь же я попытаюсь немного дополнить ее еще некоторыми тестами.

Читать далее

Как преодолеть сложности прохождения ревью Google Play в условиях санкций

Уровень сложностиПростой
Время на прочтение11 мин
Охват и читатели12K

Всем привет! Меня зовут Антон, я ведущий разработчик в одной из команд мобильной разработки в компании DD Planet. Мы под ключ создаем мобильные приложения для клиентов.

В этой статье поделюсь личным опытом и опытом нашей команды по прохождению ревью в магазин приложений Google Play на примере реального бизнес-кейса.

Читать далее

Лазеры, сервопривод, WiFi MESH-сети и сноуборд. Часть 2

Уровень сложностиПростой
Время на прочтение2 мин
Охват и читатели4.1K

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

Читать далее

Получение D-U-N-S номера для мобильных разработчиков

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели24K

В конце 2023 года мы столкнулись с проблемой того, что Google Play стал требовать DUNS номер для регистрации новых аккаунтов, а также для подтверждения уже существующих. Данное сообщение могли увидеть все Android разработчики. Также данный номер необходим для регистрации и аккаунтов в AppStore.

Читать далее

Vivaldi 6.8 для Android —  Новые опции персонализации и улучшенный блокировщик

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели2.6K

Мы следуем трём критериям браузера -  мощный, персональный, приватный. В новой версии Vivaldi 6.8 для Android представлены новые мощные функции и возможности, которые позволят вам сделать ваш браузер ещё более персонализированным.

Вот основные улучшения Vivaldi 6.8 для Android:

Читать далее

Android-разработчики в 2024 году: какие нужны скилы и как проходит процесс найма

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели12K

Команда Яндекс Практикума провела исследование и готова рассказать, как обстоят дела в найме начинающих Android-разработчиков: какие навыки требуются джуниорам для трудоустройства, о чём их спрашивают на собеседованиях и какого опыта достаточно, чтобы получить предложение о работе.

Читать далее

Unit-тесты в Android для начинающего разработчика

Уровень сложностиПростой
Время на прочтение16 мин
Охват и читатели14K

Меня зовут Александр Чекунков, я — Android‑разработчик в СБЕРе. Занимаюсь разработкой и поддержкой CSI‑опросов в мобильном приложении «СберБанк Онлайн». Я несу ответственность за функционал, который используют бизнес‑команды для оценки удовлетворённости клиентов.

Часто бывает так, что новый сотрудник, приходя на большой проект, совершенно не знаком с таким понятием как unit‑тестирование. Что это? Как это работает? С чего начать? Такие вопросы часто появляются у начинающих разработчиков.

Этой статьей я бы хотел ответить на эти вопросы, обсудить основы unit‑тестирования, рассмотреть основные библиотеки, которые используются на нашем проекте, и привести практические примеры.

Читать далее

Ближайшие события

Мобильная разработка за неделю #544 (24 — 30 июня)

Время на прочтение4 мин
Охват и читатели1.3K
В нашей новой еженедельной подборке поиск применения App Clip и небезопасности Синглтона, Инструменты Android-разработчика и победа над техдолгом в RuStore, архитектура кроссплатформенного многомодульного приложения, миллионы за считыватели QR-кодов, как мог бы выглядеть Windows Phone в 2024 и многое другое. Подключайтесь!

Подписывайтесь на наш Telegram-канал Mobile Insights, где еще больше материалов для мобильных разработчиков. А в IT Insights — много об интересном коде и технологиях.

Читать дальше →

Android: form builder на старых добрых View

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели2.2K

Привет всем! Хочу поделится идеей создания form builder-а, которую я реализовал некоторое время назад.

В приложении я писал модуль, отвечающий за платежи. По предварительным расчетам модуль должен был поддерживать более 300 платежей, каждый платеж приблизительно 10 экранов, т.е. это более 3000 различных экранов. Я тогда не использовал jetpack compose и от мысли, что мне придется написать огромное количество “View-based layouts” xml файлов (а потом их рефакторить и поддерживать) мне становилось как-то не по себе.

Мне предложили сделать form builder, который позволял бы легко и в декларативной манере добавлять новые экраны, не плодить огромное количество однотипных файлов и легко вносить изменения. Конечно jetpack compose позволяет достичь всего этого из коробки, но бывает, что по тем или иным причинам вы остаетесь на старом добром View UI и идея какого-либо builder-а может быть для вас актуальна.

Итак первое, что мне было нужно – это не плодить xml файлы тысячами. В идеале, хорошо бы иметь один общий файл формы и наполнять его различным содержимым. В моем случае формы были достаточно похожи друг на друга: набор ограниченного числа UI элементов и внизу формы кнопка типа “submit form” (иногда с какими-то пояснениями / ссылками под ней). Решил использовать RecyclerView, в который можно было динамически вставлять нужное количество элементов. Как-то так выглядел xml файл формы:

Читать далее

Подключаем GigaCode к мобильной разработке

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели29K


Всем привет! С вами Анна Жаркова, руководитель группы разработки в компании Usetech. Сегодня я вам принесла необычный материал. 27 июня 2024 года для сторонних разработчиков открыли и презентовали российскую среду разработки Giga IDE со встроенным ИИ-ассистентом от «Сбера» и «СберТеха». Заявлено, что встроенный в среду ИИ-ассистент GigaCode анализирует контекст, предлагает полные конструкции функций, циклов и других элементов, что позволяет писать код в среднем на 25% быстрее. Ассистент поддерживает как автокомплит кода, так и интеллектуальные подсказки для ввода, генерацию кода для поддерживаемых язык. Также его можно использовать для выполнения разных команд.

Мы посмотрим, как подключить, настроить и применить GigaCode AI к мобильной разработке.
Для начала нам потребуется скачать специальную IDE GigaCode . Нам предложит перейти на ресурс GitVerse (аналоги GitHub, полностью совместим с Git), где потребуется создать аккаунт и авторизоваться через СберID:


Читать дальше →

Современные способы запуска фоновой работы в Android

Уровень сложностиСредний
Время на прочтение18 мин
Охват и читатели22K

На протяжении нескольких лет каждый релиз новой версии Android вводит ограничения на существующие API и новые API для запуска работа в фоне в зависимости от её типа. Я собрал все актуальные способы запуска для Android и рассказываю когда что стоит выбирать: WorkManager, Service или что-то другое

Читать далее

Уникальный планшет со съёмным процессором в DDR2-слоте: что за устройство ценой в 100$ сделали китайцы в 2010?

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели26K
image

Друзья, я почти уверен, что большинство читателей не видели такого диковинного девайса, который будет в сегодняшней статье! Едва ли где-то ещё можно найти планшет, у которого процессор с ОЗУ выполнен в виде съёмного модуля, который стоит в слоте DDR2-памяти, а само устройство настолько просто и гениально спроектировано, что фактически построено на базе USB-хаба и AC97-кодека. Кроме того, планшет построен на базе редкого и диковинного ARMv5 процессора, способного загружаться в Android, Linux и Windows CE. Недавно читатель с Хабра подарил мне такой планшет в нерабочем состоянии и я его оживил. Интересно узнать о том, что за интересный такой девайс и как я его ремонтировал? Тогда добро пожаловать под кат!
Читать дальше →

SVG-виджеты для tcl/tk. Градиентная заливка и прозрачность. Часть II

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели2.7K

Продолжим знакомство с svg-виджетами для tcl/tk. Напомним, что рассматриваемые примеры, сам пакет svgwidgets и интерпретаторы tcl/tk с необходимыми пакетами можно найти на github-е. После выхода первой статьи все они претерпели изменения. Начнем мы статью с примера скрипт_button_PACK.tcl:

$/usr/local/bin64/tclexecomp140_svg_Linux64 скрипт_button_PACK.tcl

Читать далее

Почему умение дебажить — один из самых важных навыков для разработчика

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели16K

Привет! Меня зовут Абакар, и я работаю главным техлидом в Альфа-Банке. Меня часто посещает вопрос: «А какой навык всё-таки самый полезный для разработчика?». Понятное дело, что ответ на этот вопрос обязан быть комплексным, и скилл-сет разраба не должен ограничиваться одним навыком. Но умение дебажить — действительно хороший показатель уровня разработчика. Давай разберем на нескольких примерах, почему я так считаю.

Читать далее