~70% смартфонов в мире работают на Android, поэтому разработчики для этой системы не сидят без дела

На hh.ru больше 2 500 вакансий для Android‑разработчиков

  • Спрос растёт, потому что всё больше компаний хотят выпустить свои приложения на Android
  • Можно работать удалённо из любой точки мира и с гибким графиком
  • Но нужно всё время развиваться и следить за трендами мобильной разработки

Освоите профессию с нуля за 12 месяцев

Получите мощный набор навыков и инструментов

Это сейчас актуально и требуется почти во всех вакансиях

Java
Kotlin
Git
Gradle
Android SDK
XML
MVP
MVVM
Koin
REST
OkHttp
Retrofit
Coroutines
RxJava
SQLite
Room
Unit Testing
Fragments
Single Activity
Android Jetpack
ConstraintLayout
RecyclerView
SharedPreferences
Code Review

Программу обновляем каждые полгода, чтобы вы проходили только актуальное

Составили её по реальным задачам, которые решают в Android-разработке. Есть базовый и расширенный форматы — со вторым вы быстрее вырастете до уровня middle.
7 тем・1 проект・~15 часов
Бесплатно
Знакомство с IDE и Java
1 модуль — бесплатно, чтобы вы почувствовали себя в роли Android-разработчика и поняли, хотите ли развиваться в этом направлении. А после бесплатной части выберете подходящий формат курса: базовый или расширенный.
  • IDE
  • Java
  • Переменные
  • Строки
  • Методы
  • Базовый и расширенный курс
Особенности Android‑разработки
Что делают Android-разработчики, главные языки и инструменты
IDE, эмулятор и запуск проекта
Что такое IDE, установка и настройка, запуск и гайд по проекту
Основы Java: работа с переменными
Переменные в Java, объявление переменных, типы данных в Java, операции с примитивными типами
Основы Java: работа со строками
Ссылочные типы данных, строковые переменные, конкатенация и строковые шаблоны
Основы Java: методы и функции
Что такое методы, как объявлять и вызывать метод, как возвращать значение из метода, особенности оператора return, параметры, аргументы и сигнатура методов, метод main
Найдёте ошибки, допишете код и запустите приложение «Конвертер валют»
2
15 тем・1 проект・4 недели
Введение в Java
  • Java
  • Переменные
  • Операторы сравнения
  • Строки
  • Массивы
  • Булева алгебра
  • Методы
  • Git
История Java
Появление Java в мобильной разработке, что входит в инфраструктуру Java, как связаны Android и Java
Работа со строками
Ссылочные типы данных, строковые переменные, конкатенация и строковые шаблоны
Операторы сравнения
Условия, операторы сравнения, операторы if и switch
Булева алгебра
В каких случаях понадобятся сложные выражения, типы логических выражений, логические союзы
Циклы
Цикл for, основы, движение в обратном направлении и изменение шага, цикл while, бесконечный цикл, вложенные циклы
Методы
Вспомните методы, напишете свой калькулятор, научитесь декомпозировать задачи
Классы и объекты
Что такое объекты, зачем нужны классы, конструкторы, области видимости и ключевое слово this, механизм сборки «мусора»
Git для самых маленьких
Узнаете про контроль версий, GitHub, commit и fork, как скачать репозиторий, создавать ветки и работать в Git командой, создадите первый Pull Request
Запуск кода
Как запустить код на эмуляторе и реальном устройстве, какие ошибки возможны при запуске
Массивы, списки, итераторы
Как работать с массивами, для чего нужна структура данных ArrayList, что делает ассоциативный массив Map, в чём идея множества Set, роль инструмента Iterator и цикла forEach
Научитесь работать со строками, циклами и главными инструментами Android-разработки — Android Studio и Git
3
8 тем・1 проект・4 недели
Проектная работа на Java
  • Java
  • Модификаторы доступа
  • Наследование
  • ООП
  • Интерфейсы
Модификаторы доступа
Что такое модификаторы доступа, зачем они нужны. Модификатор Static, как его применять к другим методам.
Наследование и переопределение
Погрузитесь в объектно ориентированное программирование (ООП). Узнаете, для чего нужны наследования и конструкторы, что такое полиморфизм, ключевые слова final и abstract, объект и object.
Интерфейсы
Узнаете, что такое интерфейсы и какие проблемы они решают.
Анонимные классы и лямбда-выражения
Иерархия вложенных классов, создание анонимных классов, лямбда-выражения.
Дженерики
Синтаксический сахар, создание и наследование дженерик-классов, дженерик-методы и конструкторы, ограничения и wildcard.
Допишете код приложения «Контакты», чтобы сортировать, просматривать и звонить по всем номерам в телефоне с учётом привязки к мессенджерам и почте
4
8 тем・2 недели
Введение в Kotlin
  • Kotlin
  • Переменные
  • Циклы
  • Классы
  • Оператор if
  • Оператор when
История Kotlin
От Java к Kotlin. Для чего создавали Kotlin и чем интересен его код.
Переменные в Kotlin
Типы данных и переменные, приведение типов, операции с простыми типами.
Операторы if и when
Операторы в Kotlin, условные операторы в Java и Kotlin (if и when).
Циклы
Циклы for и while в Kotlin. Чем они отличаются от циклов Java.
Классы
Классы и методы в Kotlin, их свойства, блок init, дефолтные и именованные параметры. Как использовать nullable‑типы, паттерн Singleton и объявление объекта, анонимные и enum‑классы.
Изучите основные конструкции языка программирования Kotlin в теории и на практике
5
10 тем・1 проект・4 недели
Проектная работа на Kotlin
  • Функции высшего порядка
  • Функции расширения
  • Мультидекларации
  • Наследование
  • Массивы
  • IDE
  • Git
Наследование и переопределение
Наследование и система типов в Kotlin. Изолированные классы и интерфейсы.
Массивы, списки, итераторы
Массивы и коллекции в Kotlin. Функции kotlin.collections.
Top-level-функции
Функции высшего порядка, расширения и мультидекларации.
Продвинутая IDE
Android Debug Bridge (ADB), Android Debugger. Логирование.
Продвинутый Git и Gitignore
Командная строка. Устройство хранилища Git, создание коммита в Git, манипулирование коммитами и роль gitignore-файла, удалённый репозиторий Git.
Перепишете часть приложения «Контакты», увидите разницу между Kotlin и Java, поработаете с фильтрами и списками
Пример проекта
6
11 тем・1 проект・4 недели
Введение в UI и хранение данных
  • XML
  • Вёрстка
  • ImageView
  • Навигация
  • Стили и темы
  • Context и Intent
  • EditText
  • Хранение данных
Вёрстка экранов
Познакомитесь с инструментом вёрстки Figma и языком разметки XML. Сверстаете первый экран. Изучите структуру и синтаксис ресурсных файлов.
ImageView
Изображения в приложениях, величина DPI: от чего она зависит и как влияет на качество картинок на экране. Типы масштабирования.
Навигация
Навигация приложения, компонент Activity для взаимодействия пользователя с приложением, жизненный цикл Activity lifecycle, роль и типы класса Intent.
Стили и темы
Что такое стили и для чего нужны. Синтаксис стилей, эффективное использование стилей, сторонние шрифты. Чем тема отличается от стиля, как она устроена и как её настроить.
Context и Intent
Место Context в Android-разработке, типы Context при создании приложения. Узнаете, как пользоваться API Context, Intent Filters и передавать данные с помощью Intent.
EditText и TextWatcher
EditText в тестовом приложении Prime Number, методы и атрибуты EditText, инструменты Android SDK для работы с вводимым текстом, в чём помогает TextWatcher.
Хранение данных: начало
Данные в жизни приложения и их хранение на практике.
В приложении Playlist Maker сверстаете главный экран, экраны настроек и поиска, добавите новые шрифты и кнопки, адаптируете интерфейс под ночной режим
7
6 тем・1 проект・2 недели
Продвинутый UI: списки и библиотеки
  • RecyclerView
  • ViewHolder
  • Adapter
  • Библиотеки
  • Glide
RecyclerView
Что такое класс RecyclerView, как его создать, без каких вспомогательных классов не работает RecyclerView. LayoutManager и его базовые типы.
ViewHolder
Что такое класс ViewHolder, почему он появился, когда и зачем использовать его основные методы.
Adapter
Adapter как целое и часть RecyclerView. Собираем RecyclerView. Особенности работы с Adapter.
Введение в библиотеки
Что такое библиотеки и для чего они нужны, подключение библиотек к проекту. Библиотека Glide, загрузка изображений из интернета в ImageView.
Создадите первый список в приложении Playlist Maker, начнёте знакомиться с библиотеками
8
5 тем・1 проект・2 недели
Сеть
  • Сеть
  • Сервер
  • TCP/IP
  • HTTP
  • URI
  • JSON
  • API
Введение в сеть
Выход в сеть. Кто разрабатывает сервер и как он работает. REST API.
HTTP
Путь данных от клиента на сервер, их трансформация. Типы запросов, формат данных и сетевые ошибки. TCP/IP, HTTP, URI, JSON.
Retrofit
Популярные аннотации в библиотеках Android и их возможности. Библиотеки Gson и Retrofit.
Работа с API на практике
API и ошибки. Авторизация запросов, практика с API крупного сервиса IMDb.
Оживите экран поиска и добавите выполнение настоящих поисковых запросов в Playlist Maker
9
3 темы・1 проект・2 недели
Хранение данных
  • Shared Preferences
  • Jetpack
  • Шаблоны проектирования
  • Observer
  • Безопасное хранение данных
Shared Preferences
Что такое Shared Preferences, что нельзя там хранить. Как обезопасить данные.
Храним данные
Сохранение объектов. Шаблон Observer, подписка на изменения, Jetpack и DataStore.
Научите приложение Playlist Maker сохранять историю поиска
10
4 темы・1 проект・2 недели
Продвинутый UI: компоненты вёрстки
  • RelativeLayout
  • ConstraintLayout
  • Layout Inspector
RelativeLayout
Влияние LinearLayout на вложенность, проблема вложенных весов. Атрибуты RelativeLayout: центрирование, относительное расположение, выравнивание относительно родительского контейнера, относительное выравнивание. Комбинирование атрибутов, работа с атрибутами в коде.
ConstraintLayout
Возможные проблемы у RelativeLayout и ConstraintLayout. Их решение.
Создадите экран аудиоплеера в приложении Playlist Maker
Пример проекта
11
4 темы・1 проект・2 недели
Многопоточность
  • Многопоточность
  • Debounce
  • ProgressBar
  • MediaPlayer
Введение в многопоточность
Работа кода программы, создание новых потоков, синхронизация. Жизненный цикл потоков.
Многопоточность в Android
Главный поток, его классы и циклы. Как менять UI не из главного потока.
Улучшаем Playlist Maker
Логика debounce и её реализация с использованием Handler. Новый View‑элемент ProgressBar, инструмент MediaPlayer.
Сделаете удобнее поиск в приложении Playlist Maker, добавите ProgressBar в светлой и тёмной теме, время и воспроизведение отрывка на экране аудиоплеера
12
12 тем・1 проект・6 недель
Архитектура
  • Clean Architecture
  • MVC
  • MVP
  • MVVM
  • Moxy
  • LiveData
  • Dagger
  • Koin
Clean Architecture
Понятие «чистой архитектуры» и её применение в Android.
Шаблон MVP
Сделаете рефакторинг кода, поменяете MVC на MVP. Узнаете, что такое MVP с единым State, какие бывают проблемы MVP и что из себя представляет библиотека Moxy.
Шаблон MVVM
Особенности шаблона MVVM. Создание ViewModel. Класс LiveData, разметка с ViewBinding.
Подготовка проекта к рефакторингу
Осуществите переход с MVP на MVVM и разработаете добавление отдельного фильма в избранное.
Внедрение зависимостей
Теория внедрения зависимостей (Dependency Injection, DI), практика с DI.
Инструменты DI
DI-фреймворки в Android: статические и динамические. Базовые элементы фреймворков Dagger и Koin.
Перепишете код Playlist Maker по шаблону MVVM
13
5 тем・1 проект・2 недели
Продвинутый UI: фрагменты
  • Фрагменты
  • Иерархия экранов
  • Back Stack
  • Task
  • TabLayout
Введение во фрагменты
Навигация и Activity. Управление Back Stack. Фрагменты.
Создание фрагментов
Жизненный цикл. Создание и переключение Fragment.
Особенности работы с фрагментами
Менеджер фрагментов. Передача данных между фрагментами. Сохранение состояния. ViewPager2.
TabLayout и практика
Реализация вкладок с использованием TabLayout и его настройки.
Научите приложение Playlist Maker создавать плейлист, реализуете экран «Медиатека»
14
4 темы・1 проект・2 недели
Продвинутая навигация на Fragment
  • Single Activity
  • Navigation Graph
  • FragmentManager
  • Jetpack Navigation Component
  • BottomNavigationView
  • NavController
  • Tabs
Single Activity и кастомный навигатор
Изучите подходы к обработке навигации, особенности работы с библиотеками навигации — существующими и своими. Создадите экран списка актёрского состава, сделаете рефакторинг на подход Single Activity.
Jetpack Navigation Component
Познакомитесь с Jetpack Navigation Component и другими инструментами для навигации. Изучите граф переходов — Navigation Graph и компонент NavController для переходов между экранами. Внедрите Jetpack Navigation Component в приложение.
BottomNavigationView
Изучите паттерны навигации, добавите на экран и настроите BottomNavigationView. Научитесь использовать его в связке с Jetpack Navigation Component.
Переделаете навигацию между экранами «Поиск», «Медиатека», «Настройки» на Fragment
15
5 тем・1 проект・2 недели
Продвинутая многопоточность и сложный UI
  • Реактивное программирование
  • Корутины
  • RxJava
  • RxMarbles
  • CoroutineScope
  • JVM-потоки
  • Flow
Реактивное программирование
Императивное, декларативное и асинхронное программирование. Реакция и реактивность.
RxJava
Библиотека для реактивного программирования. Типы Observable, операторы RxJava, многопоточность с RxJava, Rx‑цепочки и ошибки.
Корутины
Корутины против классических потоков. Как запускать корутины. Механизм работы suspend‑функций.
Корутины на практике
Преимущества корутин, debounce и асинхронные задачи. Сетевые запросы и Flow.
Переведёте поиск, отправку поискового запроса и прогресс воспроизведения трека на корутины
16
8 тем・1 проект・4 недели
Продвинутая работа с сетью и хранением данных
  • Базы данных
  • SQL
  • Room
  • Рermissions
  • Dialog
  • Хранилище
  • BottomSheetDialog
  • GridLayoutManager
Базы данных
Хранение данных, типы баз данных и система управления ими. База данных для приложений под Android.
SQL
Реляционные базы данных. Основы языка запросов SQL. Основы работы с базой данных SQLite на Android.
Room
Изучите, чем Room удобнее классического SQLite, ORM и похожих библиотек.
Permissions
Запрос permissions во время работы приложения, типы permissions, Runtime Permissions. Библиотеки для разрешений.
Доступ к файлам
Разберётесь, где хранятся файлы в Android, как запросить разрешение для доступа к чтению и записи файлов. Как сохранить файлы на устройстве.
Диалоги и всплывающие окна
Диалоги, BottomSheet, GridLayoutManager, Drawable в сочетании с View-элементами.
Научитесь работать с разными файлами, создавать и запрашивать разрешения, попрактикуетесь с диалогами и всплывающими окнами в приложении
17
4 темы・1 проект・2 недели
Финал Playlist Maker
  • Иконка приложения
  • Legacy
  • Adaptive Icon
  • Asset Studio
  • Публикация в Google Play
  • Релизная сборка
Иконка приложения
Роль иконок приложений. Подходы к их созданию и применению. Создание иконки в Asset Studio в несколько кликов.
Будущие задачи
Научитесь делать релиз приложения в Google Play, настраивать инструменты для сбора аналитики, тестировать приложение. Напишете первый unit-тест.
Создадите иконку приложения Playlist Maker и экран «Плейлист»
18
5 тем・1 неделя
Продуктовая и командная разработка
  • Методология
  • Декомпозиция
  • Жизненный цикл продукта
  • Git
  • Код-ревью
Жизненный цикл продукта
Изучите все этапы продуктового цикла: сбор требований, дизайн, разработку, тестирование, релиз продукта и оценку результатов.
Методологии
Познакомитесь с методологиями Waterfall и Agile. Поймёте, как оценивать задачи и формировать спринт.
Git для гигантов
Методология работы с Git, исследование истории изменений, merge‑конфликты, работа с Git в итоговом проекте.
Зачем нужен код‑ревью
Узнаете, что такое код‑ревью. Познакомитесь с Code Style. Поймёте, как делать код‑ревью правильно и создавать удобный для ревью код.
Узнаете, какие есть методы работы в команде, научитесь декомпозировать задачи и работать с коллегами над одним проектом в Git
19
С наставником・4 недели
Итоговый проект «Агрегатор вакансий»
В команде с другими участниками курса сделаете приложение для поиска и сортировки вакансий. В нём пользователи смогут найти интересные предложения от работодателей, сохранить вакансии в избранное или поделиться ими.
С наставником・1 месяц
Карьерный трек: подготовка к трудоустройству
Составите резюме, которое привлечёт внимание рекрутеров, и напишете сопроводительное письмо для откликов на вакансии. Узнаете, как правильно оформлять портфолио, и построите стратегию поиска работы.
Карьерный центр・До 6 месяцев
Акселерация: активный поиск работы с поддержкой HR-экспертов
Будете откликаться на вакансии, делать тестовые и ходить на собеседования, а мы вас поддержим. Например, расскажем о типичных ошибках в общении с работодателями и о том, как их избежать. Акселерация может продолжаться до 6 месяцев — обычно этого достаточно, чтобы получить первую работу в IT.
+3 темы・+1 проект・+3 месяца
Расширенный курс «Android-разработчик»
У этого курса есть расширенный формат: стоит дороже, но включает в себя больше тем и проектов — чтобы усилить портфолио и повысить шансы на быстрое трудоустройство. Расширенный курс на 3 месяца длиннее, но будет дополнительный перерыв в прохождении курса.
  • Дополнительные темы
  • Кейс для портфолио
  • Командная работа
Ещё 3 темы
Фреймворк Jetpack Compose, углублённая работа с UI, BroadcastReceiver, Service
Ещё 1 проект
По дополнительным темам, чтобы усилить портфолио
Проект от настоящего заказчика
Чтобы поработать в команде и получить реальный кейс в портфолио
Больше навыков, которые помогут найти работу и быстрее вырасти до middle

Получите сертификат о завершении курса

Очень много практики

Ещё 7 месяцев после курса бесплатно помогаем с поиском работы — для этого у нас целый карьерный центр

10 000+ пользователей Практикума уже нашли новую работу

90% трудоустроились в первые полгода

Это данные исследования ВШЭ — они основаны на опыте пользователей Яндекс Практикума на российском рынке труда

Как устроен курс

YandexGPT помогает проходить курс

Когда в теории что‑то непонятно, нейросеть объяснит это другими словами. А в конце каждого модуля подготовит краткий пересказ о самом главном.

Попробуйте любой формат курса бесплатно — выбрать один-единственный можно позже

  •                                        

Что входит в любой формат

  • Ещё можно платить частями Практикуму столько месяцев, сколько идёт курс. Общая стоимость будет меньше, чем в рассрочку от банка
  • Вернём деньги в любой момент за остаток курса,
    если что-то не понравится. Подробности — в 7 пункте оферты

Отвечаем на вопросы

Подойдёт ли мне этот курс?
Для тех, кто сомневается, мы спроектировали бесплатную часть, которая поможет получить ответ на этот вопрос. Если вы убедитесь, что выбранный курс вам не подходит, — это тоже положительный результат.
Каким требованиям нужно соответствовать?
Вам не понадобятся специальные навыки или опыт — будете проходить всё с нуля. Главное — иметь компьютер и достаточно времени. Выше можно посмотреть программу, чтобы оценить количество материала и свои возможности.
Какой компьютер нужен, чтобы проходить курс?
Вы будете практиковаться в реальной среде разработки, поэтому ваш компьютер должен соответствовать вот таким требованиям:
  • Операционная система: 64-bit Microsoft® Windows® 8/10, MacOS® 10.14 (Mojave) или более поздней версии, 64-bit Linux с Gnome, KDE или Unity DE; GNU C Library 2.31 или более поздней версии.
  • Оперативная память: 8 ГБ.
  • Свободное место на диске: 4 ГБ минимум (1,5 ГБ для IDE + 2,5 ГБ для Android SDK и образа системы эмулятора), 8 ГБ SSD.
  • Разрешение экрана: 1 280  ×  800.
Это официальные рекомендации для работы с Android Studio.
Кто будет помогать мне проходить курс?
Все наставники — практикующие специалисты: сотрудники Яндекса и других крупных компаний. Программу составляют опытные методисты, а ещё действующие специалисты Яндекса, Школы анализа данных и других лидеров технологической индустрии.
Смогу ли я найти работу после курса?
Гарантий нет, но мы верим, что сможете. Работодателям важно, чтобы вы справлялись с реальными задачами, а не просто обладали набором знаний. После курса вы сможете применять знания на практике, а также мы предлагаем помощь HR-специалистов из нашего карьерного центра. Но вам точно придётся приложить усилия, чтобы найти работу: активно откликаться на вакансии, проходить собеседования, показывать свои проекты и делать тестовые задания.

По данным исследования* Высшей школы экономики, 69% пользователей Яндекс Практикума среди тех, кто хотел сменить профессию, начинают новую карьеру после курса. Больше половины из них — во время курса и в первые 2 месяца после его окончания.

* Данные исследования ВШЭ основаны на опыте пользователей Яндекс Практикума на российском рынке труда.
А если я хочу работать в Яндексе?
Некоторые участники наших курсов работают в сервисах Яндекса, в том числе и в Практикуме. Но с нашей стороны было бы нечестно что‑либо гарантировать и завышать ваши ожидания.

Без опыта попасть в крупную IT-компанию возможно, хотя и сложно. Программа составлена так, чтобы вы могли начать карьеру после курса и набраться первого опыта. С ним вам будет значительно проще претендовать на позицию в крупных компаниях.
Хорошо, а вы можете помочь с поиском работы?
Да. Вы сможете пройти программу трудоустройства, которая состоит из 2 частей:
  • Карьерный трек: участники курса при поддержке наших HR-экспертов составляют резюме или оформляют портфолио, пишут сопроводительные письма.
  • Акселерация: участники курса начинают активный поиск работы, а мы им помогаем — отвечаем на вопросы, проводим тренировочные собеседования, предлагаем вакансии от партнёров.
Важно помнить, что мы не ищем работу за вас, а помогаем её найти.
Что делать, если я не справлюсь с нагрузкой?
Если случилось непредвиденное или понадобилось уделить больше времени закреплению материала, напишите своему куратору. Он поможет перенести дедлайн сдачи проекта или перевестись в более позднюю когорту. На общую стоимость курса это не повлияет.
Если не понравится, я могу вернуть деньги?
Конечно. Если курс ещё не начался, вернём всю сумму. Если уже начался, придётся оплатить прошедшие дни со старта вашей первой когорты — но мы вернём деньги за остаток курса. Более подробно рассказываем об этом в 7 пункте оферты.
Получу ли я какой-то документ после курса?
Да, вы получите сертификат о завершении курса.
Как можно оплатить?
Банковской картой: внести всю сумму сразу или платить ежемесячно.

Ежемесячные платежи работают так: вы вносите первую оплату, и в этот момент привязывается карта. С этой карты автоматически будут списываться следующие платежи каждые 30 календарных дней. Например, оплатили 25 марта — следующий платёж пройдёт 24 апреля. Курс будет стоить меньше, если оплатить его сразу целиком.

Через компанию: юридические лица также могут оплатить курс в Практикуме. Чтобы заказать счёт для оплаты, оставьте заявку на странице для корпоративных клиентов.
Можно ли оплатить курс за счёт работодателя?
Да, работодатель может оплатить курс полностью или разделить оплату с вами: например, поделить сумму 50/50 или 75/25.

Чтобы оформить оплату за счёт работодателя, оставьте заявку на странице для корпоративных клиентов.
В какой валюте можно оплатить курс?
Оплатить курс можно в любой валюте, кроме российских рублей.

Чтобы вам было проще сориентироваться, мы указываем примерную стоимость в долларах США, но списание будет в казахстанских тенге, а конвертация — по курсу вашего банка.

Давайте поможем

Напишите, как вас зовут и по какому номеру можно связываться — позвоним и расскажем всё про курсы