Обновить
256K+

Android *

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

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

Описываем UseCase'ы правильно

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

Слова usecase и interactor попали в обиход Android‑разработчиков из книги про «чистую» архитектуру. Книгу эту почти никто не читал внимательно, плюс изложенные там свойства «чистой» архитектуры сформулированы неточно (многие до сих пор уверены, что «чистая» архитектура — это про то, как на слои абстракций логику делить). Чтобы в них разобраться, нужно прочитать еще пару книг из 90-х, мало кто этим занимается.

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

Призываю читателя не использовать эти абстракции в принципе. Всегда на собеседованиях спрашиваю, есть ли в проекте юзкейсы. Если есть, это в 99% значит, что проект будет комком грязи. НО — если уж эти абстракции везде используются и про них спрашивают на собеседованиях, я хочу предложить своё видение того, как можно их использовать.

Читать далее

Как разобрать и собрать обратно apk под windows

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

Короткий практический пример как разобрать apk приложение, что-то в нем изменить и собрать обратно в среде windows без использования android studio. Статья подойдет для новичков, сложного ничего не будет. Будем изменять (русифицировать) не полностью русифицированное приложение для видеокамеры ordro pro ep8.
Читать дальше →

Как силами мобильных разработчиков автоматизировать процесс разработки

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

Всем привет! Меня зовут Женя Мельцайкин, я старший инженер-программист в компании Контур. Большую часть времени в Контуре я работал и работаю Android-программистом, но статья будет не про Android и даже не про мобильную разработку. А про команду мобильной разработки и про наш процесс разработки! Давайте же начнем разбираться, причем тут мобильные разработчики, автоматизация и бэкенд.

Читать далее

Мобильная разработка за неделю #563 (5 — 10 ноября)

Время на прочтение3 мин
Охват и читатели2.6K
Наш небольшой, но очень интересный дайджест за четыре дня — искрящиеся и переливающиеся кнопки с помощью Metal и SwiftUI, суперкастомизированное Android-приложение в 2024 году, антитренды в мобильной разработке на Flutter, почему спринты отнимают радость от создания программного обеспечения и многое другое. Подключайтесь!

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

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

DPC (Device Policy Controller): админим блокировку экрана в Android

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели4.9K
Если вы занимаетесь защитой от несанкционированного доступа к устройству, то наверняка ваш самый первый и самый простой шаг — это защита разблокировки экрана. Графический пароль, цифровой PIN-код, доступ по биометрии (например, скан отпечатка пальцев, распознавание лица) и так далее — эти механизмы знает каждый.



Я же расскажу, как можно настроить способ блокировки/разблокировки экрана с помощью Device Policy Controller (DPC) — приложения-администратора нужного профиля устройства (если на устройстве развернуты несколько профилей — например, и рабочий, и личный) или же всего устройства в целом.

Статья будет полезна тем, кто интересуется безопасностью мобильных устройств и различными способами управления ею. А в конце, если тема будет вам интересна, я добавлю еще несколько полезных ссылок на посты моих коллег по команде мобильной разработки «Лаборатории Касперского».
Читать дальше →

Apex Architecture: Модульность и стабильность в Android-разработке

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

Архитектура, с которой мы работаем изо дня в день, оставляет желать лучшего. Иначе как объяснить тот хаос и стресс, который каждый из нас испытывает, приходя на новое место работы? В большинстве случаев самым сложным слоем является UI, и эта сложность зачастую обусловлена не разнообразием элементов интерфейса, а неправильным подходом к архитектуре этого слоя. Отсюда можно сделать вывод, что нельзя дробить приложение в привычной форме: на UI, domain и data. Необходимо добавить еще один дочерний слой — ui/viewModel, и на этом слое, одном из самых важных, я хочу акцентировать ваше внимание.

Меня зовут Илья и мы начинаем! 

Читать далее

Адаптеры в Android: «сервируем» данные красиво

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

В Android разработке адаптер — это компонент, который служит мостом между источником данных (например, списком элементов) и элементом пользовательского интерфейса (например, списком или сеткой). Он преобразует каждый элемент данных в визуальное представление, которое пользователь видит на экране.

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

Погнали вглубь!

Как инженеру техподдержки трансформироваться в мобильного разработчика

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

Цель статьи: Показать и продемонстрировать кейс как можно перейти в разработку из позиции инженера технической поддержки.

Основные тезисы:

1) Важный пункт статьи – необходимо УЖЕ быть в IT и работать в этом направлении;

2) На данный момент я работаю Application менеджером, но уже поправил пару багов и реализовал несколько фич. Как?

3) Сложности, переживания? Это все профит!

4) GrayLog. Данный инструмент улучшает насмотренность;

5) Изучайте LogCat – это мощный инструмент для первичной аналитики;

6) Подведение итогов и планы на будущее.

Читать далее

Битва титанов: натив, кроссплатформа и PWA – ищем плюсы и минусы на каждом этапе разработки. Часть 2

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

Привет, Хабр. Это продолжение разговора, который мы начали неделю назад. В первой части уже разобрались со сравнениями, начиная с идеи приложения и заканчивая разработкой. Посмотрим, что там с тестированием, поддержкой и итоговой стоимостью проектов.

Читать далее

Поющий молится дважды или пишем приложение в помощь хористу

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

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

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

Приятного чтения!

Компьютерное зрение на С++: подключаем ML-библиотеки и обрабатываем результаты поиска объектов

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

Привет, Хабр! Меня зовут Кирилл Колодяжный, я разрабатываю системы хранения данных в YADRO и изучаю нестандартные подходы к машинному обучению: создаю ML-проекты на С++. 

Это вторая часть цикла о разработке приложения для обнаружения предметов на С++. В прошлом материале мы выяснили, как создать проект в IDE Android Studio, реализовать сессию непрерывного захвата и преобразовать изображение в матрицу OpenCV. Ссылку вы найдете в конце статьи.

В этой статье продолжим реализацию проекта и обсудим следующие шаги:

• Как подключить к проекту библиотеки машинного обучения PyTorch и NCNN.

• Как получить модели YOLOv5 и YOLOv4 для использования на мобильном устройстве.

• Как реализовать инференс моделей для обнаружения объектов.

• Как обработать результаты работы моделей YOLO, реализовав алгоритмы Non-Maximum-Suppression и Intersection-Over-Union.

В конце сравним производительность PyTorch и NCNN и решим, какой фреймворк подойдет для задачи лучше.

Читать далее

Как я писал суперкастомизированное Android-приложение в 2024 году

Уровень сложностиСредний
Время на прочтение19 мин
Охват и читатели10K
Как я писал супер кастомизированное Android приложение в 2024 году

В начале года у меня появилась прикольная идея: сделать Android-приложение, которое будет показывать анимации для алгоритмов сортировки. Чтобы вы сразу поняли, что представляет из себя приложение, на GitHub есть скрины и короткие видео. Давайте по кусочкам разберём мой проект.
Читать дальше

Сравнение операторов RxJava 3 и Kotlin Coroutines Flow

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

Привет, Хабр! Меня зовут Константинов Александр, я Android-разработчик в «Студии Олега Чулакова». Сегодня мы сравим операторы RxJava 3 и Flow. Статья будет полезна как для изучения операторов, так и для более легкого перехода с RxJava на Flow.

Читать далее

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

Диалог — часть навигации или нет?

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

Как в вашей навигации устроена работа с диалогами? В статье я делаю обзор на то что такое Диалог в Material Design на Android. Когда это считается компонент, а когда это визуальный стиль и почему не надо помещать в навигацию то, что хочется открыть чтобы потом с этим...

Читать далее

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

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели2.4K
В новом дайджесте ковка Metal и поиск регрессий в Compose, полностью переделанный React Native и форк Flutter, тактильный отклик в мобильных приложениях, сравнение размеров iOS и Android приложений, самые скачиваемые и зарабатывающие приложения в России в октябре и многое другое. Подключайтесь!

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

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

Внедрение электронной цифровой подписи в мобильное приложение на Android

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

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

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

Читать далее

Битва титанов: натив, кроссплатформа и PWA — ищем плюсы и минусы на каждом этапе разработки

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

Привет, Хабр. Мы уже сравнивали натив и PWA в этой статье, но без кроссплатформы эта картина действительно была неполной. Поэтому мы запарились, разложили разработку на этапы и на каждом нашли честные плюсы и минусы каждой технологии. Погнали.

Читать далее

Vivaldi 7.0 для Android

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

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

Вот что мы приготовили:

Читать далее

Тактильный отклик в мобильных приложениях: что это такое, когда использовать и зачем?

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

В этой статье я вам расскажу, что такое тактильная обратная связь, как и для чего она применяется. Раньше устройства сообщали нам о чём-то с помощью звуков и света, например, когда телефон звонил или мигал. Что поменялось с тех времен? В этой статье расскажу.

Прочитать материал

Главный метод Android-приложения

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

Если вы когда-нибудь писали «Hello World» на Java (или любом другом C-подобном языке), то наверняка делали это в статическом методе main. Этот метод вызывается в JVM и является точкой входа любой Java программы.

Но при разработке приложений для Android вы возможно, как и я до недавнего времени, ни разу метод main не встречали. Создается ощущение, что его вообще не существует, а при нажатии на иконку в лаунчере наши Application и Activity создаются какими-то волшебными гномами, спрятанными в устройстве.

Читать далее