Denver 83 28 апреля 2021

📱 10 главных ошибок начинающего Android-разработчика

Проблемы возникают не только у осваивающих разработку приложений для Android с нуля новичков, но и у опытных профессионалов. Рассмотрим 10 наиболее распространенных ошибок, чтобы предотвратить их появление.
Самая популярная мобильная платформа «повзрослела» с момента первого выпуска – планка ожиданий пользователей сейчас довольно высока. Им доступно множество различных устройств с разными размерами экрана, архитектурой микросхем, конфигурациями оборудования и версиями программного обеспечения. Есть тысячи вариантов, когда приложение может выйти из строя, даже если вы являетесь продвинутым программистом Android.

Большинство проблем возникает из-за отсутствия элементарных навыков – их легко предотвратить, если мы правильно понимаем основы. Рассмотрим 10 наиболее распространенных ошибок разработчиков Android.

Ошибка №1: начинать работу не разобравшись с Android Studio

Android Studio – официальная среда разработки для Android от Google. Эта IDE создает комфортные условия программисту, однако новичку предстоит пройти нелегкий путь, прежде чем она станет ему интуитивно понятной. Настройка предельно проста: почти все объединено в один установщик. Загрузив его, вы получите не только Android Studio, но также Android SDK (software development kit), диспетчер SDK и многое другое.

Установите цветовое оформление и используйте split screen для разделения экрана – это повысит вашу эффективность. Изучите горячие клавиши и полезные команды. Вот несколько из них:

  1. Search for command (ctrl + shift + a или cmd + shift + a – для IOS – для поиска нужной команды.
  2. Open class (ctrl + n или cmd + o – для IOS) – открыть класс
  3. Open file (ctrl + shift + n или cmd + shift + о – для IOS) – открыть файл
  4. Close current tab (ctrl + F4 или cmd + w – для IOS) – закрыть текущую вкладку
Их довольно много, поэтому вам необходимо изучить эту IDE досконально. Более подробная информация о ней здесь.

Ошибка №2: не учитывать адаптивность при разработке

Адаптивность – способность приложения подстраиваться под размеры экрана устройства. Если вы не создаете промо-софт только для одной модели, ваша программа не будет одинаково хорошо смотреться везде. Для правильного отображения на различных устройствах необходимо учитывать следующие принципы адаптивности:

  1. Соблюдайте относительность единиц измерения. Учитывайте, что не зависящие от плотности (dp) пиксели отличаются от обычных (px).
  2. Указывайте минимальные и максимальные значения размеров контента.
  3. Используйте грамотную вложенность объектов.
  4. Правильные шрифты. Не забывайте, что некоторые из них долго подгружаются, что может сказаться на скорости загрузки приложения.
  5. Правильно используйте растровую и векторную графику. Если на изображении много мелких деталей, используйте растровый формат, а иначе – векторный.
  6. Соблюдайте размеры макета
Вы можете протестировать продукт на подключенном через USB к компьютеру мобильном телефоне или воспользоваться эмулятором Android.

Ошибка №3: не использовать Android Intents

Интент – содержащая описание операции структура данных с мощной функцией асинхронной отправки сообщения другим Activity (активностям) или сервисам. Она предоставляет возможность обращаться к любому установленному в системе приложению, а повторное применение некоторых компонентов сокращает время разработки приложения.

Используя Android Intents можно быстрее и проще осуществить следующие операции:

  1. Звонок по любому номеру телефона.
  2. Отправку SMS.
  3. Получение контакта из телефонной книги.
  4. Открытие ссылки в браузере.
  5. Открытие карты по заданным координатам.
  6. Снимок с камеры.
  7. Звонок по Skype.
  8. Использование Speech to Text, функции распознавания голоса.

Ошибка №4: не использовать фрагменты при разработке приложения

Традиционно каждый экран в приложении для Android реализовывался как отдельное действие. Это создавало проблему при передаче информации между экранами, поскольку механизм Android Intent не позволял передавать ссылочный тип (то есть объект) непосредственно между активностями (Activity). Сделав каждый экран отдельным фрагментом, можно полностью устранить эту головную боль. Фрагменты всегда существуют в контексте активности и всегда могут получить доступ к ней.

Преимущества использования фрагментов состоит в инкапсуляции логики и в возможности повторного их использования для других целей. Они бывают статическими и динамическими. Статические размещаются в макете действия и никогда не меняются. Динамические – это своего рода реконфигурируемые кусочки головоломки, имеющие жизненный цикл, анатомию и классы. Фрагменты – преимущество пользовательского интерфейса. Иногда пользователю удобно видеть на одном экране два разных представления двух разных классов.

Ошибка №5: не использовать Main Thread

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

Зачастую приложению приходится использовать вызываемые во второстепенном потоке события. Класс MainThread позволяет выполнять код в основном потоке приложения с последующей проверкой его выполнения. Тем самым поддерживается отзывчивость пользовательского интерфейса. Этот метод предотвращает отложенный отклик действий пользователя, при котором приложение перестает отвечать. Лишение пользователя контроля над приложением сильно разочаровывает его, а разочарованные пользователи обычно оставляют негативные отзывы.

Ошибка №6: игнорировать предыдущий опыт

Многие базовые вещи уже написаны ранее другими разработчиками, поэтому вы смело можете использовать их в приложении. Не стоит изобретать велосипед: при таком огромном количестве свободно распространяемых решений на GitHub. Просмотрите возможные готовые образцы от разработчиков для разработчиков:

  • Awesome Android UI – подборка UI/UX библиотек.
  • Android tips and tricks – советы и тонкости разработки.
  • Android best practices – несколько неплохих практик Android-разработки.
  • MPAndroidChart – удобная библиотека для визуализации данных.
  • Android-CleanArchitecture – образец приложения с грамотно выстроенной архитектурой.
  • MaterialDrawer – простая библиотека в стиле Material Design.
  • Android Guides – полезный обучающий контент.

Ошибка №7: не учитывать интересы пользователя

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

Вот несколько советов по улучшению взаимодействия пользователя с продуктом:

  1. Навигация должна быть интуитивно-понятной (сделайте так, чтобы элементы интерфейса не требовали дополнительных пояснений).
  2. Не допускайте перегруженности (используйте принципы минимализма).
  3. Не заставляйте пользователя много работать с клавиатурой.
  4. Сенсорные элементы должны быть удобными для пальцев.
  5. Тексты должны быть читаемыми.
  6. Цветовая схема должна быть приятной для глаза и хорошо прорисовываться.
  7. Учитывайте положения большого пальца, потому что 50% юзеров пользуются только этим пальцем.
Прислушивайтесь к просьбам использующих ваше приложение людей и старайтесь по мере возможности выполнять их желания.

Ошибка №8: не использовать растровые изображения

Пользователям нравится хорошо отформатированный контент, поэтому качеству изображений нужно уделять особое внимание. Чтобы интерфейс хорошо смотрелся на экранах всех размеров, графические элементы в нем должны быть соответствующим образом адаптированы. При использовании обычных изображений результат будет далек от идеального. В такой ситуации грамотным решением являются растровые картинки формата nine-patch – специальные файлы PNG с информацией о том, какие области можно растягивать, а какие нет. Для изображений масштабируемых компонентов обязательно используйте этот формат.

Ошибка №9: Использование Deep View Hierarchy (иерархии глубокого просмотра)

Источник: medium.com
Источник: medium.com

Чтобы изобразить контент в учетной записи разработчика Android, вам необходимо отпарсить XML, измерить экраны и разместить все элементы в правильном порядке. Этот процесс обычно трудоемкий и требует оптимизации, а использование LinearLayout может привести к глубокой иерархии представления, что крайне неудобно для дальнейшей разработки. Вы затратите ненужное дополнительное время на добавление очередного виджета или макета. Это особенно важно, когда макет раздувается, например, при использовании ListView или GridView. Максимально упрощайте себе работу и не усердствуйте с вложенностью.

Ошибка №10: игнорирование новых тенденций и обновлений SDK

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

***

Начинающему разработчику самостоятельно освоить все нюансы сложной профессии порой не под силу. При таком объеме материала новички часто теряют интерес к обучению. Чтобы этого не произошло, не надо пускать все на самотек – доверьтесь профессионалам. Обратите внимание на факультет Android-разработки образовательной онлайн-платформы GeekBrains. Пройдя уникальный курс обучения с гарантией последующего трудоустройства, вы научитесь писать приложения на Java и Kotlin, работать с графикой и анимацией, проводить тестирования, а также подготовитесь к собеседованию на должность Android-разработчика. Опытные эксперты-практики научат студентов всем тонкостям профессии с нуля. По окончанию обучения вы получите электронный сертификат и диплом о профессиональной переподготовке. Удачи!

МЕРОПРИЯТИЯ

Комментарии 0

ВАКАНСИИ

Добавить вакансию
Senior C++ Developer
от 250000 RUB до 350000 RUB
Junior Data Scientist
Москва, по итогам собеседования
Тестировщик ПО
Москва, от 70000 RUB до 90000 RUB

ЛУЧШИЕ СТАТЬИ ПО ТЕМЕ

BUG