Обновить
512K+

Android *

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

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

Пишем своё приложение для установки PIN на другие приложения

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

Ещё с детства мой отец приучил меня пользоваться антивирусами. Соблюдая традиции, я купил себе подписку на антивирус для Андроида. Оказалось, в приложении есть крайне интересная фича - установка ПИН-кода для других приложений на устройстве. Интересной она была для меня тем, что я, как мобильный разработчик, не имел ни малейшего понятия, как подобное можно сделать. И вот теперь, после непродолжительных раскопок и проделанной работы, я делюсь своим опытом.

Читать далее

Что стоит знать о Jetpack Compose: руководство для начинающих

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

Салют, Хабр! На связи Вадим, Android Developer из Clevertec. Когда я начинал разбираться с Jetpack Compose, он показался простым. Но первое впечатление обманчиво. Поэтому написал этот туториал для начинающих, который сэкономит время на погружение.

Читать далее

«Арендовал телефон — стал фермером»: знакомство с Mobile Farm

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

Привет, Хабр! На связи Саша, менеджер фермы мобильных устройств в Selectel. Чуть больше года назад я выпустил текст про наши эксперименты во время работы над продуктом, чтобы клиенты могли тестировать ферму удаленно. Тогда мы находились только в начале пути и показали первый вариант решения. Не обошлось без сложностей, которые мы выяснили в том числе благодаря вам. Спасибо, что вписались в авантюру и попробовали себя в роли фермера!

С тех пор многое изменилось: ферма мобильных устройств вышла в релиз, разрослась до 100+ устройств разных моделей и форм-факторов, а в панели управления появился крутой интерфейс. Хочу вкратце рассказать о наших достижениях за последний год и показать, как живет продукт сегодня. Подробности под катом!
Читать дальше →

Мобильная разработка за неделю #549 (29 июля — 4 августа)

Время на прочтение4 мин
Охват и читатели3.5K
В новом дайджесте конвейеры мобильного развертывания за $0 и нестрашный Metal, Selenoid без симуляции и странные описания в Play Store, адаптивная верстка на React Native, упадок мобильной разработки, оптимизация пейвола и многое другое. Подключайтесь!

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

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

Мастер-аккаунт Zeekr. Как Arduino поможет Вашему китайскому авто?

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

Что происходит когда у Вас гаджет на колесах с одной стороны, и Вы уже окрыленные тем, что Arduino скетчи Blink и Hello_world у Вас получилось запустить? Правильно, приходит мысль, как это можно соединить.

Читать далее

Мобильная разработка за неделю #548 (22 — 28 июля)

Время на прочтение4 мин
Охват и читатели6.2K
В нашей новой еженедельной подборке стенд для UI-тестирования iOS-приложений и реверсинг приложений под Android, Android Studio в вебе и будущее Flutter, результаты опроса разработчиков Stack Overflow 2024, дизайн-тренды 
2025, топ быстрорастущих приложений в России в июле и многое другое. Подключайтесь!

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

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

PinLockSreen на основе KeyStore. Kotlin. Jetpack Compose

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

В данной любительской статье разберемся, что такое KeyStore в контексте мобильной разработки, для чего нужен и применим его в крайне легком варианте. Также погрузимся в разработку экрана входа в ваше приложение. Статья будет разделена на 3 так называемых раздела — KeyStore, UI и ViewModel.

Читать далее

Я победил замедление YouTube

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

Привет, Хабр! Ухудшение работы YouTube стало поистине трагическим событием, которое прибило почти все загрузчики видео, но я нашел легальный способ улучшить ситуацию! Как починить оборудование Google, не привлекая внимание санитаров.

Читать далее

Flutter. Стиль кода — это все

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

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

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

Люди тоже диктуют стиль. Стиль был у Роберта Мартина, у Дэвида Томаса, у Мартина Фаулера, у Эрика Эванса... Я встречал стиль в открытом исходном коде. В среде разработчиков стильных проектов куда больше, чем в каком-либо другом сообществе. Стиль — это атрибут, подход и структура.

Выше – юмористическая интерпретация слов из поэмы Чарльза Буковски «Стиль». Вариативность стиля кода настолько многогранна, что не всегда удается прийти к единому мнению в пользу того или иного подхода, поэтому стиль в сегодняшнем понимании — это целая культура.

Сегодня мы будем разматывать клубок лучших практик и скрытых трюков. После этого ваш код станет не просто рабочим, а настоящим произведением искусства. С учетом моего опыта работы мобильным разработчиком в TAGES, я готов поделиться своими знаниями и практиками, которые могут быть полезны для вашего проекта. Пристегнитесь потуже — мы взлетаем!

Читать далее

Реверсинг приложений под Android. Ищем уязвимости

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

В этой мы продолжим изучать тему реверсинга приложений для Android. В предыдущих статьях мы рассмотрели основные инструменты, которые нам понадобятся и поговорили о том, как можно анализировать APK файлы на подозрительную активность. Сегодня мы посмотрим, как можно найти уязвимости в приложении для Android.

Читать далее

Разбираемся с новой уязвимостью Android-библиотеки Jetpack Navigation: как открыть любой фрагмент из вашего приложения?

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

Всем привет!

На связи эксперты из Стингрей Технолоджиз – Юрий Шабалин, Веселина Зацепина и Игорь Кривонос. Недавно специалисты из компании Positive Technologies нашли серьезную проблему безопасности в популярной библиотеке для навигации в приложениях Android – Jetpack Compose Navigation. Эта уязвимость позволяет открывать любые фрагменты внутри приложения.

К большому сожалению, несмотря на усилия сообщества, об этой уязвимости мало кто знает. Поэтому сегодня мы хотим еще раз подсветить данную проблему с углублением в детали. В статье мы разберем, что из себя представляет библиотека Jetpack Compose и ее основные элементы, в чем заключается уязвимость и насколько она опасна, а также приведем немного статистики по уязвимым приложениям.

Интересно? Тогда давайте начинать!

Читать далее

Как публиковать библиотеку в Maven Central Portal в 2024 году

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

Начиная с 12 марта 2024 года регистрация на OSSRH портале теперь недоступна. Большинство существующих туториалов в интернете описывает как раз опыт публикации через OSSRH на Maven Central. Из-за чего после марта 2024 года эти туториалы стали не актуальны для публикации проектов новых авторов.

Читать далее

Разбираемся с MavenGate. Настолько ли он страшен на самом деле

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

Привет, Хабр!

Меня зовут Михаил, я исследователь Центра научных исследований и перспективных разработок, в круг моих обязанностей входит разработка мобильных приложений Android и исследование безопасности разрабатываемых решений. Сегодня рассмотрим, так ли страшен «черт», как его малюют, или насколько страшен MavenGate на самом деле.

Читать далее

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

Как устроены аннотации в Kotlin. Часть 2

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

Привет! Сегодня с вами Максим Кругликов из Surf Android Team, и мы продолжаем статью об аннотациях в Kotlin, в которой рассмотрим кодовую базу Moshi в качестве примера того, как реальная библиотека использует процессинг аннотаций, рефлексию и lint. В первой мы рассказывали об этих трёх механизмах — рекомендуем посмотреть сначала её.

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

Мобильная разработка за неделю #547 (15 — 21 июля)

Время на прочтение4 мин
Охват и читатели2.4K
В новом выпуске создаем макросы без лида, ИТ-курсов и кредитов, прощаемся с XCAssets и пишем приложения для Android 1.0, программируем кастомные макеты в Compose и переосмысливаем Agile, определяем главный тренд экономики приложений, продвигаем аудиокниги в инновационной глобальной AR-кампании и многое другое. Подключайтесь!

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

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

Самый первый Android-смартфон в мире: каким был HTC Dream? Пишем приложения для Android 1.0 в 2024

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


Друзья! А знаете ли вы, какой Android-смартфон был первым в мире и как он выглядел? А я теперь не просто знаю, но и могу физически пощупать настоящую легенду своих лет — HTC Dream, также известный как T-Mobile G1. Однако G1 был мне интересен не только как коллекционный девайс для гика, но и потенциально-диковинное устройство для разработки приложений: ведь в современном мире принято повышать минимальную версию Android для работы тех или иных программ, а я свои буду… понижать, чтобы они смогли заработать даже на самой первой версии Android! В сегодняшней статье мы с вами: посмотрим на Dream и постараемся понять, почему HTC выбрала именно Android, неудачно перепакуем аккумулятор, бэкпортируем мои клиенты ВК, YouTube и Telegram и посмотрим, правда ли старичок «бесполезен», как говорят в ретро-обзорах или что-то ещё да может! Интересно? Тогда добро пожаловать под кат!
Читать дальше →

Макросы на Dart: первые ощущения от использования и лайфхаки на будущее

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

Макросистема Dart — это новая важная языковая функция. Она добавляет поддержку статического метапрограммирования в язык Dart, но в настоящее время находится в разработке.

Макрос Dart — это определяемый пользователем фрагмент кода, который принимает другой код в качестве параметров и работает с ним в режиме реального времени для создания, изменения или добавления кода.

В отличие от генерации кода с помощью сторонних пакетов (например, build_runner) макросы полностью интегрированы в язык Dart и автоматически работают в фоновом режиме. Это делает макросы более эффективными, чем использование вспомогательного инструмента:

Читать далее

Мобильная разработка за неделю #546 (8 — 14 июля)

Время на прочтение4 мин
Охват и читатели3K
В нашем новом дайджесте пишем виджет для Control Center и делаем куб для сторис, развенчиваем мифы про современную Android-разработку и оптимизируем приложение, переходим с Xamarin на Flutter, оцениваем важные вещи в программировании, используем темные паттерны, оцениваем самые скачиваемые и зарабатывающие приложения в России в июне. Подключайтесь!

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

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

Как я исправил краш Realm в KMP Desktop на старых версиях macOS

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

Я — Денис, Middle Android-разработчик в «Black Bricks». В этом кейсе я расскажу как исправил краш Realm в Desktop на старых macOS.

Читать далее

Как мы переходили с Xamarin на Flutter

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

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

В этой статье расскажу о своем личном опыте и опыте нашей команды по переходу с кроссплатформенного фреймворка Xamarin Native на Flutter.

Читать далее