Как стать автором
Обновить
195.69

Разработка под Android *

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

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

Простой вопрос по Android Core, на который даже сеньоры отвечают неправильно

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

Мне кажется, я придумал очень простой вопрос по Android, но жаль, что не все поймут в чём же дело.

Хочешь проверить свои знания? Тогда заходи.

Читать далее
Всего голосов 22: ↑17 и ↓5 +12
Комментарии 34

Зачем и как в Альфе была написана библиотека для скриншот тестов под Android

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

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

Что же там дальше
Всего голосов 18: ↑18 и ↓0 +18
Комментарии 0

Когда закончится эра безграмотных мобильных интерфейсов? Воспоминания о курсе эргономики 1985 года

Время на прочтение 3 мин
Количество просмотров 37K

Друзья, вы уже в курсе, что IOS достигла версии 17, а Android версии 12? Уже более 10 лет как две огромные фирмы мучают людей и совершенно не собираются умнеть.
Начнем с простого действия. Которое на компьютерах называется ESC. Отмена. Или возврат к предыдущему состоянию. Функция та же что и у BACKSPACE, но не в применению к набору текста, а к любому действию, которое захотелось отменить.
Apple упорно лишает пользователей телефонов и планшетов этой функции.

Это явное насилие, ибо понять почему на клавиатуре нет этой кнопки невозможно. Тем более, что на компьютрах Apple она имеется. Но в планшете iPad ее нет.

Андроидные телефоны имеют кнопку назад. Сразу имели. А вот Apple сделала позорную недокнопку в левом верхнем углу. Вроде бы нужная кнопка что бы вернуться в предыдущее приложение, да вот заранее не предусмотрели и пришлось встраивать "костыль".

Вот я из "Почты" нырнул в какое-то приложение. И возврат обратно вот такой мизерной незаметной строчкой. < Mail. Попасть в нее пальцем ну мягко говоря не просто. Равно как и разглядеть.

Читать далее
Всего голосов 185: ↑158 и ↓27 +131
Комментарии 376

ThrowInDB — Разбираю домашний хлам или сам себе склад

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

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

PlayStore: https://play.google.com/store/apps/details?id=me.hda.throwindb

RuStore: https://apps.rustore.ru/app/me.hda.throwindb

Если кратко, создаешь запись, добавляешь описание с фото и видео, получаешь QR, скидываешь себе в телегу, печатаешь и наклеиваешь на коробку или полку. А потом qr сканируешь, и просто узнаешь, что лежит в этой полке со своего старого видео.

Читать далее
Всего голосов 15: ↑13 и ↓2 +11
Комментарии 27

Истории

Kotlin под капотом: как избавиться от рекурсии

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

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

Читать далее
Всего голосов 12: ↑12 и ↓0 +12
Комментарии 16

Создание простого калькулятора в android studio

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

В данной статье находится лабораторная работа, направленная на создание приложения калькулятора с базовыми функциями в android studio.

Читать далее
Всего голосов 21: ↑18 и ↓3 +15
Комментарии 9

Готовим конфигурацию Android-приложения с помощью Dynamic Proxy и рефлексии

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

Android-разработчик RuStore Анатолий Гусев расскажет, как приготовить систему «холодных» конфигов для большого Android-приложения, построенного на многомодульной архитектуре. Под «холодными» конфигами здесь подразумеваются настройки приложения, которые нужно делать локально на девайсе без необходимости загружать их из сети.

Читать далее
Всего голосов 27: ↑26 и ↓1 +25
Комментарии 2

SberPay: как добавить поддержку бесконтактной оплаты в Android-приложение

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

Хотите добавить в своё Android-приложение функцию бесконтактной оплаты, но не знаете, как это сделать? Тогда эта статья для вас! Заодно обсудим особенности реализации. В конце будет ссылка на репозиторий с примером.

Читать далее
Всего голосов 19: ↑18 и ↓1 +17
Комментарии 3

Первый месяц жизни приложения BookDesk или как меня пытались взломать

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

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

Всем привет. Чуть более месяца назад я выпустил релиз своего приложения BookDesk: Читательский дневник для хранения всех своих прочитанных книг. Почитать про историю создания можно в первой части.

Читать далее
Всего голосов 11: ↑11 и ↓0 +11
Комментарии 14

Android. Принять себя или Cookie?

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

Печенья, кеки, кукисы, ку-ку, кексы… нет, куки!

– Cookie — это что? 

– Почему их не нужно принимать?

– Безопасно ли это?

– CookieJar, CookieManager, CookieStore… WebView?

А также истории про то, как жить с cookie в большом приложении, и сколько эмоций вы испытаете, если в вашем приложении есть WebView.

Читать далее
Всего голосов 22: ↑22 и ↓0 +22
Комментарии 5

Обзор актуальных инструментов шифрования в Android

Уровень сложности Сложный
Время на прочтение 12 мин
Количество просмотров 5.1K

Привет, Хабр! Меня зовут Артур Илькаев, я работаю в департаменте экосистемных продуктов, мы разрабатываем VK ID SDK и все что связано с авторизацией и сессиями, в частности — мультиаккаунт.

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

Читать далее
Всего голосов 42: ↑41 и ↓1 +40
Комментарии 6

Android Work Profile: как безопасно поделить свой смартфон между домом и работой

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

Для тех, кто работает удаленно, провести грань между решаемыми задачами и свободным временем может быть непросто. Но я сейчас буду говорить не про work-life balance, а про Android Work Profile — технологию для управления корпоративными устройствами, которая создает разграничение персонального и рабочего пространства в них.



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


Сотрудники же имеют возможность включать и выключать рабочий профиль на своих устройствах в любое время. Когда рабочий профиль выключен, все приложения в нем «отключены» — это означает, что они не используют мобильные данные и не показывают уведомления пользователю. Между тем личный профиль можно использовать в обычном режиме, а уведомления, связанные с работой, останутся в silent-режиме. Удобно? Очень, особенно если устройство — ваше личное, а не корпоративное (BYOD). Об этом и поговорим.

Читать дальше →
Всего голосов 20: ↑20 и ↓0 +20
Комментарии 4

Kotlin под капотом: inline функции

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

Многие разработчики не понимают в чем профит от использования inline функций и в каких случаях их нужно использовать. Для чего нужен crossinline и как работает reified. Разбираемся как это работает на уровне байткода, в котором хорошо видно всю суть inline функций kotlin.

Читать далее
Всего голосов 17: ↑17 и ↓0 +17
Комментарии 10

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

Московский туристический хакатон
Дата 23 марта – 7 апреля
Место
Москва Онлайн
Геймтон «DatsEdenSpace» от DatsTeam
Дата 5 – 6 апреля
Время 17:00 – 20:00
Место
Онлайн
PG Bootcamp 2024
Дата 16 апреля
Время 09:30 – 21:00
Место
Минск Онлайн
EvaConf 2024
Дата 16 апреля
Время 11:00 – 16:00
Место
Москва Онлайн

Kotlin под капотом: нюансы использования аннотаций

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

Котлин очень лаконичный язык, но когда его код компилируется в Java bytecode, то изящные  конструкции kotlin распадаются на развесистые и монструозные конструкции Java. При этом применение аннотаций может сыграть с вами злую шутку.  

Читать далее
Всего голосов 29: ↑29 и ↓0 +29
Комментарии 4

Пишем Kotlin DSL для графов навигации в домашних условиях

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

Всем привет! Я Тимур, лид одной из android-команд. Больше трех лет работаю в Тинькофф, все это время был в привлечении и занимался флоу получения разных банковских продуктов.

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

Читать далее
Всего голосов 18: ↑18 и ↓0 +18
Комментарии 9

Дайджест мобильной разработки за октябрь

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

HyperOS от Xiaomi, обновление Android Jetpack, новые возможности для разработчиков от Discord, предварительная проверка приложений от Google, функция Drag & Drop в RuStore и другие новости рынка мобильной разработки в октябре 2023 года.

Читать далее
Всего голосов 15: ↑13 и ↓2 +11
Комментарии 5

Большая дыра в безопасности Android: почему смартфоны с зеленым роботом подвержены кражам?

Уровень сложности Простой
Время на прочтение 8 мин
Количество просмотров 21K
image

Многим пользователям смартфонов знакомо такие понятия как «привязка к аккаунту». У различных вендоров смартфонах есть свои механизмы защиты смартфонов от кражи: у Apple — FMI, у Xiaomi — Mi Cloud, а у Google — FRP. Однако у Android есть давняя уязвимость, которая позволяет обходить практически любые смартфоны на «чистой» системе, даже с привязкой к Google-аккаунту. Недавно мне написал известный YouTube-блогер MaddyMurk и предложил задарить смартфон-броневичок AGM H3 на гугл-аккаунте, который он не смог сбросить. Я решил подготовить подробный материал о дырах в защите Android и на практике обойти FRP на смартфоне, который «повис» на активации. Сегодня мы с вами узнаем: почему смартфоны на Android так легко обходить, какие существуют методики и почему подобная практика невозможна на устройствах Apple. Интересно? Жду вас под катом!
Читать дальше →
Всего голосов 89: ↑83 и ↓6 +77
Комментарии 74

Как сделать автотесты гибкими и лаконичными

Время на прочтение 12 мин
Количество просмотров 4.5K

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



Меня зовут Арсений Федоров, я — разработчик автоматизированных тестов в команде Kaspersky Internet Security for Android. В этой статье покажу, как можно избежать всех вышеперечисленных проблем, выбрав другой подход к разработке автотестов, а также разберу несколько хороших практик.

Читать дальше →
Всего голосов 13: ↑13 и ↓0 +13
Комментарии 0

Защита кода приложения Android. Когда хотели как лучше, а вышло не очень

Время на прочтение 4 мин
Количество просмотров 6.2K

В статье расскажу пару случаев из практики анализа защиты приложений Android. Имена и место событий изменены. Любые совпадения — случайность

Читать далее
Всего голосов 28: ↑25 и ↓3 +22
Комментарии 7

Разрушители легенд: Как на самом деле магазины проверяют приложения на уязвимости

Время на прочтение 22 мин
Количество просмотров 7.2K

Всем привет! Снова с вами Юрий Шабалин. Уже много лет я занимаюсь безопасностью мобильных приложений и в своих исследованиях доношу важность этого направления для бизнеса.

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

Давайте посмотрим!

Читать далее
Всего голосов 19: ↑18 и ↓1 +17
Комментарии 15

Вклад авторов

Работа