Рубріки: Решения

Как стать Android-разработчиком в 2022 году — дорожная карта

Богдан Мирченко

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

С чего начать изучение разработки под Android?

Все Android-приложения должны быть написаны с использованием Kotlin, Java и/или C/C++. Kotlin и Java — это основные языки, которые разработчиками используют для создания приложений, в то время как C++ используется для написания функций, ориентированных на производительность или аппаратное обеспечение, которые используют Java Native Interface (JNI) для вызова собственных функций. 

Java или Kotlin?

Когда более десяти лет назад компания Google представила первую версию своей ОС Android, она приняла Java в качестве основного языка для разработки приложений для Android. 

Будучи одним из старейших объектно-ориентированных языков, Java прост в изучении и хорошо работает на виртуальной машине Dalvik, которая была создана на основе Java Virtual Machine (JVM), что делает его переносимым практически для любого устройства и операционной системы. Поэтому, когда компания Google начала создавать систему Android, Java был одним из наиболее подходящих языков. 

Язык Kotlin разработала компания JetBrains. Изначально он был создан для среды JVM и сочетает в себе функциональное и объектно-ориентированное программирование. С момента выхода Kotlin стал восходящей звездой в разработке Android и других областях. 

Вот несколько причин, почему Kotlin так хорошо сочетается с Android: 

  • Совместимость: Kotlin на 100% совместим с Java и обеспечивает отличную совместимость со средами JVM;
  • Безопасность: согласно документации Android, вероятность сбоев в приложениях Android, содержащих код на Kotlin, на 20% ниже;
  • Асинхронность: использование в Kotlin корутин позволяет обеспечить поддержку асинхронного (неблокирующего) программирования.

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

#1 Основы Java

Основы Android

Практика 1.1: создайте приложение, которое подсчитывает количество нажатий на кнопку мыши и отображает результаты на экране. 

Система контроля версий

Практика 1.2: зарегистрируйте репозиторий на GitHub или GitLab 

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

Полезные ссылки: 

Пользовательский опыт (UX)

Практика 1.3: создайте приложение scorekeeper — приложения для записи счета и итогов игр. 

Полезные ссылки: 

Java Code Style (стиль кода)

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

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

 Коротко о стиле кода Java и Android

JSON

Запрос App Permission в Android

Практика 1.4: напишите приложение, которое будет запрашивать разрешение на чтение и запись в хранилище при нажатии на кнопку и отображать результат на экране. 

Полезные ссылки: 

Взаимодействие с пользователем

Полезные ссылки: 

создание адаптивного интерфейса с помощью ConstraintLayout;

RecyClerview — компонент RecyClerview — RecyClerview Pro Tip. 

#2 Основы Kotlin для Android-разработки

Фоновый режим в Android

Практика 2.1: напишите приложение, которое позволит пользователю запускать, обновлять и отменять поступление уведомления с помощью трех кнопок. 

Практика 2.2: создайте приемник широковещательных сообщений (broadcast receiver), который фиксирует изменения состояния телефона. Если на устройство позволят, приемник получит соответствующее уведомление и зарегистрирует сообщение. 

Практика 2.3: создайте музыкальный плеер, который будет воспроизводить музыку в фоновом режиме. 

Полезные ссылки: 

Сохранение пользовательских данных

Практика 2.4: создайте приложение для напоминания задач ToDo. 

Полезные ссылки: 

#3 Продвинутый уровень

Jetpack Compose

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

Полезные ссылки:

Android Networking

Практика 3.2: получите и отобразите простой список пользователей из web API в Android recyclerview с помощью библиотеки retrofit. Отобразите имени, электронную почты и город в Recyclerview и сделайте так, чтобы пользователя можно было удалить длительным нажатии на элемент

Полезные ссылки:

  • okHttp;
  • безопасный HTTP-клиент для Android: Retrofit.

#4 Архитектура приложений

ViewModel и LiveData

Практика 4.1: проделайте описанные в практике 3.2 действия с помощью LiveData и ViewModel. 

Полезные ссылки: 

#5 Реактивное программирование на Java и в Android

Практика 5.1: создайте приложение для Android, способное отобразить список фильмов в View Recycler с использованием RxJava и Retrofit с использованием архитектуры MVP. JSON-проект

Полезные ссылки: 

Библиотека Hilt

Библиотека Android, которая упрощает внедрение зависимостей (DI) в приложении. Hilt позволяет сосредоточиться только на важных частях определения и инъекции связок, не беспокоясь об управлении всеми настройками DI и настройкой связей (wiring). 

Полезные ссылки: 

#6 Корутины в Kotlin

Практика 6.1: создайте приложение «Калькулятор» с возможностью сохранения истории расчетов в базе данных и чтобы пользователи смотреть ее и очищать. 

Полезные ссылки: 

Полезные библиотеки:

  • Glide — для загрузки и кэширования изображений;
  • Timber — для логирования;
  • EventBus — упрощает связь между действиями, фрагментами, потоками, службами и т. д. Меньше кода, лучше качество;
  • Coil — библиотека загрузки изображений для Android, поддерживаемая Kotlin Coroutines.

Бонус

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

Ранее мы публиковали дорожные карты для дата- и DevOps-инженеров, а также React-, Java-, Angular-, фронтенд-, бэкенд-, фулстек-разработчиков и разработчиков игр.

Останні статті

Что такое прокси-сервер: пояснение простыми словами, зачем нужны прокси

Прокси (proxy), или прокси-сервер — это программа-посредник, которая обеспечивает соединение между пользователем и интернет-ресурсом. Принцип…

21.11.2024

Что такое PWA приложение? Зачем необходимо прогрессивное веб-приложение

Согласитесь, было бы неплохо соединить в одно сайт и приложение для смартфона. Если вы еще…

19.11.2024

Как создать игру на телефоне: программирование с помощью конструктора

Повсеместное распространение смартфонов привело к огромному спросу на мобильные игры и приложения. Миллиарды пользователей гаджетов…

17.11.2024

Google Bard: эффективный аналог ChatGPT

В перечне популярных чат-ботов с искусственным интеллектом Google Bard (Gemini) еще не пользуется такой популярностью…

14.11.2024

Скрипт и программирование: что это такое простыми словами

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

12.11.2024

Дедлайн в разработке: что это такое простыми словами

Дедлайн (от англ. deadline — «крайний срок») — это конечная дата стачи проекта или задачи…

11.11.2024