Как стать автором
Обновить
0
@AndrewStelmakhread⁠-⁠only

Пользователь

Отправить сообщение

Темы и стили в Android-приложениях

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


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


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

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

Material Design: Shape – советы по улучшению GUI приложения Android (и не только) с помощью изменения форм элементов

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


От переводчика


Здравствуйте. Этот перевод я делаю потому как сам недавно начал разбираться с Shape в Android, решил пошарить по material.io, и нашел там этот сборник советов по использованию. Мне он показался интересным, полезным, и познавательным, поэтому я решил поделиться им с российским сегментом разработчиков мобильных приложений.

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

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

Надеюсь что вы сможете извлечь пользу из прочитанного, и возможно улучшить качество своих приложений.
Читать дальше →
Всего голосов 14: ↑14 и ↓0+14
Комментарии1

Современная MVI-архитектура на базе Kotlin

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


За последние два года Android-разработчики в Badoo прошли длинный тернистый путь от MVP к совершенно иному подходу к архитектуре приложений. Мы с ANublo хотим поделиться переводом статьи нашего коллеги Zsolt Kocsi, описывающую проблемы, с которыми мы столкнулись, и их решение.

Это первая из нескольких статей, посвящённых разработке современной MVI-архитектуры на Kotlin.
Читать дальше →
Всего голосов 48: ↑46 и ↓2+44
Комментарии12

Как работает Android, часть 3

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


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

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

Как работает Android, часть 4

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


Всем привет! Мы нашли время продолжить серию статей про внутреннее устройство Android. В этой статье я расскажу о процессе загрузки Android, о содержимом файловой системы, о том, как хранятся данные пользователя и приложений, о root-доступе, о переносимости сборок Android и о проблеме фрагментации.

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

Run, Test, Run. Рассказываем, как прошел Mobile Testing Meetup

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

11 августа в нашем офисе прошел Avito Mobile Testing Meetup — митап, полностью посвященный тестированию приложений на платформах iOS и Android. Говорили о качестве мобильного приложения — как понять, что оно работает должным образом, о нативных UI-тестах в iOS — что тестировать и какие инструменты помогут их улучшить. Обсуждали, что лучше использовать в тестировании Android-приложений — Appium или Espresso, и в end-to-end тестах — можно ли их организовать в больших мобильных проектах, и не только.


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


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


Всего голосов 21: ↑21 и ↓0+21
Комментарии0

Создание анимаций переходов между Activity в Android

Время на прочтение8 мин
Количество просмотров27K
Начиная с Android 4.4 в арсенале разработчиков появился дополнительный инструмент для создания анимаций — Transitions Framework. Изначально он предназначался для создания анимаций изменения состояния приложения путём манипулирования несколькими View. С выходом Android 5.0 набор доступных для использования анимаций был расширен, чтобы соответствовать представленной тогда же концепции Material Design.

Transitions Framework позволяет быстро и безболезненно создавать различные анимации. Поэтому в процессе работы над iFunny было невозможно пройти мимо этого инструментария. Вниманию читателей предлагается частный случай использования Transitions API — создание анимации перехода между Activity с эффектом «бесшовности».

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

Espresso: “Милые зверушки или опасные хищники?”

Время на прочтение9 мин
Количество просмотров4.6K
Доброго времени суток, читатели хабра! Сегодня мы вместе с вами потестируем Recyclerview на Android: на мой взгляд, эта тема довольно интересна.



Что такое Recyclerview? Это компонент, с помощью которого создаются списки. Каждый список можно прокручивать, добавлять в него элементы, удалять их или изменять. Элементом выступает любая функциональная единица. Например, составляем список пользователей с полем для ввода комментария и кнопкой. Как только комментарий введён и кнопка нажата, он отправляется на сервер. Теперь система может модернизировать или удалить элемент.
Элементы могут содержать много контролов (таких, как кнопки), поэтому все возможности элементов необходимо покрывать тестами. Сейчас я поделюсь с вами полезными утилитами для Recyclerview.
Читать дальше →
Всего голосов 7: ↑7 и ↓0+7
Комментарии0

Тестирование Android приложений

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

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



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

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

Dagger 2 для начинающих Android разработчиков. Dagger 2. Продвинутый уровень. Часть 1

Время на прочтение14 мин
Количество просмотров54K
Данная статья является шестой частью серии статей, предназначенных, по словам автора, для тех, кто не может разобраться с внедрением зависимостей и фреймворком Dagger 2, либо только собирается это сделать. Оригинал написан 23 декабря 2017 года. Перевод вольный.

Dagger 2 advanced part 1 image
Читать дальше →
Всего голосов 7: ↑7 и ↓0+7
Комментарии4

Как Android преобразует размеры ресурсов

Время на прочтение3 мин
Количество просмотров7.5K
Размер APK файла можно уменьшить, выкинув «ненужные» LDPI ресурсы, Android все равно умеет генерировать их на лету из MDPI. Но что будет если убрать еще и MDPI каталог? И как именно будет произведена свертка: усреднением или более дешевым выбрасыванием пикселей? Перескочит ли Android через один шаг чтобы произвести потенциально более простое преобразование HDPI → LDPI? Как именно происходит уменьшение картинок в разных случаях? Чтобы ответить на эти вопросы я провел небольшой тест.

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

Шпаргалка по тестированию требований к мобильным приложениям

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

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


Статья ориентирована на тестировщиков, которых просят провести ревью ТЗ и найти в нём несоответствия, и на аналитиков, которым разработчики после прочтения ТЗ часто задают вопросы формата: «А что должно быть, если …?».

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

Dagger2 и архитектурный компонент «ViewModel»

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

ViewModel — это компонент из набора библиотек под названием Android Architecture Components, которые были представлены на Google I/O 2017. ViewModel — предназначена для хранения и управления данными связанных с представлением, а также с возможностью “пережить” пересоздание активити (например переворот экрана).


На Хабре уже была хорошая статья посвящена ViewModel, где можно ознакомится с данной темой более детально.


В данной статье будет рассмотрены варианты инжекта(предоставление) зависимостей в компонент ViewModel с использованием Dagger 2. Проблема заключается в том, что получение ViewModel должно осуществляться специальным образом, что в свою очередь накладывает некоторые ограничения, которые связанные с предоставлением зависимостей в сам класс ViewModel, а также предоставление ViewModel в качестве зависимости. Данная статья также возможно будет интересна тем, кто интересуется практическим применением такой функциональности Dagger, как multibinding.

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

Dagger 2. Subcomponents. Best practice. Part 2

Время на прочтение6 мин
Количество просмотров11K
Всем привет! В прошлый раз мы разобрались с реализацией Subcomponent и случаями использования его на примере отдельно взятого экрана. Здесь будет несколько отсылок к той статье, поэтому лучше сначала ознакомиться с ней.

Сегодня же мы обсудим создание реальной авторизованной зоны приложения и работу с соцсетями. Конечно же не без помощи Dagger’а!

Интересно? Добро пожаловать под кат!
image

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

30+ инструментов для профессиональной разработки приложений под Android

Время на прочтение6 мин
Количество просмотров48K
image

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

Эти инструменты помогли мне сэкономить много драгоценного времени из моей повседневной жизни, а также помогли мне создавать более качественные приложения. Поэтому, не теряя времени, давайте познакомимся с новыми и потрясающими инструментами для профессиональной разработки приложений под Android.
Читать дальше →
Всего голосов 30: ↑26 и ↓4+22
Комментарии7

Заблуждения Clean Architecture

Время на прочтение15 мин
Количество просмотров414K
Превращаем круги в блоки

­­ 


На первый взгляд, Clean Architecture – довольно простой набор рекомендаций к построению приложений. Но и я, и многие мои коллеги, сильные разработчики, осознали эту архитектуру не сразу. А в последнее время в чатах и интернете я вижу всё больше ошибочных представлений, связанных с ней. Этой статьёй я хочу помочь сообществу лучше понять Clean Architecture и избавиться от распространенных заблуждений.

Читать дальше →
Всего голосов 58: ↑56 и ↓2+54
Комментарии203

Dagger 2. Subcomponents. Best practice

Время на прочтение9 мин
Количество просмотров38K
На хабре уже было несколько хороших статей по установке и работе с Dagger 2:


Я же хочу поделиться своим опытом использования Dagger 2 на реальных проектах с реальными кейсами. Раскрыть читателю мощь и удобство как самого Dagger’а, так и такого его аспекта, как Subcomponent.

Перед тем, как пройти под кат, следует ознакомиться с вышеуказанными статьями.
Кого заинтересовал, you are welcome!
image
Читать дальше →
Всего голосов 13: ↑13 и ↓0+13
Комментарии11

Шишки и грабли Android-разработчика за 2 года

Время на прочтение10 мин
Количество просмотров41K
image

Я ясно помню тот день в далеком 2014 году, когда я решил заняться программирование под Android. Это оказалось лучшим решением, которое я принял в моей жизни. Уже прошло почти два с половиной года, и за это время у меня возможность кое-чему научиться.

Когда я только начал, я не знал никого, кто мог бы научить меня, показать, как правильно нужно делать. И я совершил МНОЖЕСТВО ошибок, в так же потратил кучу времени на то, чтобы потом их исправить.

Полтора года спустя, мне выпал шанс поработать с очень талантливыми и опытными Android-разработчиками, которые направляли меня и помогли мне привести все в порядок. Эти две составляющие научили меня многому. Я понял, что надо ДЕЛАТЬ, а самое главное, что НЕ НАДО.

И уже какое-то время я, как могу, стараюсь помогать другим разработчикам — прямо или косвенно. Вот мои профили: StackOverflow и Github.

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

Предупреждение: в этой статье я затрону Android, а также идеи и результаты программирования, так что если вы не знакомы с одним из этих пунктов, то вам может быть неинтересно дочитывать статью до конца. Остальные, просто читайте.
Читать дальше →
Всего голосов 34: ↑25 и ↓9+16
Комментарии17

Android runtime permissions. Почему, зачем и как

Время на прочтение12 мин
Количество просмотров120K
Часто при установке приложения на Android нам приходилось видеть, что оно запрашивает какое-то немыслимое количество разрешений. Например:



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

Некоторые разработчики, чтобы уменьшить недоверие, добавляют в описание приложения на Google Play информацию о том, зачем нужно то или иное разрешение.

К шестой версии Android ситуация поменялась. Теперь разрешения нужно запрашивать в процессе работы. О том, как этой новой возможностью пользоваться и ее некоторых подводных камнях будет рассказано далее.
Читать дальше →
Всего голосов 25: ↑25 и ↓0+25
Комментарии13

Итоги Школы и все материалы по архитектуре клиент-серверных приложений

Время на прочтение2 мин
Количество просмотров11K
image

Больше трех месяцев назад мы анонсировали набор в школу для Android-разработчиков в Казани, месяц назад подвели итоги отбора и пообещали после окончания Школы поделиться всеми материалами курса. Время пришло.

Что выкладываем:
Читать дальше →
Всего голосов 18: ↑17 и ↓1+16
Комментарии6
1

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность