Скидки на курсы ждут в личном кабинете. Нажмите тут
Есть рассрочка Поддержка куратора Демо-доступ Домашние задания

Android-разработчик

скидка Хочу промокод
168 000 ₽  за курс
Android-разработчик
Формат
Онлайн
Длительность
12 месяцев
Уровень
Для новичков
Документ
Диплом
Трудоустройство
Да
Программа

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

Программа длится 558 академических часов и состоит из 15 модулей. Курс включает в себя блоки: «Многопоточность и более сложное хранение данных», «Продвинутая архитектура. Cборка и деплой», «Продуктовая и командная разработка» и «Kotlin и проектная работа».

  • Бесплатная вводная часть

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

    Затем, в зависимости от вашего уровня — выполните практическое задание на Java, получите знания, которые для этого необходимы и самостоятельно допишете и запустите приложение “Конвертер валют”Тема 1. Как здесь все устроено.

    Тема 2. Java и первое приложение: тема на выбор, в зависимости от вашего уровня:

    • Первый раз;
    • Вокруг да около;
    • Плавали, знаем.
  • Введение в Java

    До появления Kotlin приложения под Android писали на Java. Изучите основные конструкции этого языка программирования с помощью теории и тренажёра: научитесь объявлять переменные, функции, свойства, поля и методы, поймете, как работать со строками и циклами, Git и Android Studio, как запускать код. 

    Закрепите материал на сессии вопросов и ответов с наставником.

    Спринт 1
    Тема 1. Введение в Java, почему Java на Android
    Тема 2.Объявление переменных, операции +-* , int, float, boolean, double
    Тема 3. Работа со строками, Nullable и Non-Nullable
    Тема 4. Операторы if и switch
    Тема 5. Boolean (булева алгебра)
    Тема 6. Циклы в Java.


    Спринт 2
    Тема 1. Методы
    Тема 2. Конструкторы + создание объектов
    Тема 3. Объявление функций, свойств и полей и методов, и методы класса
    Тема 4. Работа с Android Studio
    Тема 5. Git для самых маленьких
    Тема 6. Запуск кода.

  • Java и проектная работа

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

    В первый раз сдадите проект на проверку сначала автотестами, а потом — ревьюером. 

    Спринт 3
    Тема 1. Итераторы в Java + foreach. Массивы
    Тема 2. Итераторы в Java + foreach. Списки
    Тема 3. Модификаторы доступа. Статика и Final.

    Спринт 4
    Тема 1. Наследование и переопределение
    Тема 2. Интерфейсы
    Тема 3. Дженерики
    Тема 4. Создание анонимных классов и синтаксис Lambda-выражений.

  • Введение в Kotlin

    Начнёте изучать и на практике отрабатывать базовый синтаксис Kotlin — на нём пишется большинство Android-приложений, это официальный рекомендуемый Google язык для разработки приложений под эту операционную систему. Всю основную часть программы вы будете работать именно с ним. Изучите основные конструкции языка с помощью теории и тренажера, узнаете об отличиях Java от Kotlin.

    Спринт 5
    Тема 1. Введение в Kotlin. Зачем Kotlin на Android. Main function
    Тема 2. Объявление переменных, операции (+ - *, int, float, boolean, double)
    Тема 3. Работа со строками и cтроковые шаблоны
    Тема 4. Операторы if и when на стероидах
    Тема 5. Циклы в Kotlin
    Тема 6. Top level функции
    Тема 7. Конструкторы, создание объектов, Nullable и Non-Nullable.

  • Kotlin и проектная работа

    В этом модуле мы вы перепишете часть приложения “Контакты”, пронализируете разницу между Java и Kotlin, поработате с фильтрами и списками. Сдадите работу на проверку автотестами и ревьюером.

    Спринт 6
    Тема 1. Объявление функций, свойств (get/set) и методы класса
    Тема 2. Итераторы в Kotlin, foreach + .forEach { }. Массивы
    Тема 3. Итераторы в Kotlin, foreach + .forEach { }. Списки
    Тема 4. Модификаторы доступа
    Тема 5. Наследование и переопределение
    Тема 6. Статика и companion object
    Тема 7. Интерфейсы
    Тема 8. Smart Cast, Nullable и Non-Nullable типы.

    Спринт 7
    Тема 1. Изменяемые и неизменяемые коллекции
    Тема 2. Дженерики
    Тема 3. Создание анонимных классов и синтаксис Lambda-выражений
    Тема 4. Продвинутый IDE
    Тема 5. Продвинутый Git, Git ignore.

  • Введение в UI

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

    Базовая работа с UI включают в себя принципы вёрстки в XML, основные View элементы и взаимодействие с ними из кода приложения, создание Activity и использование Intent.

    Спринт 8
    Тема 1. Простой UI — вёрстка

    Сверстаете экраны: главный (кнопки Songs Search, Playlists, Favorites, Settings), настройки, со всеми плэйлистами и созданием нового.

    Спринт 9
    Тема 1. Работа с ресурсами

    Поработаете с тем, что получилось до – локализация/переводы, перенос значения отступов (цвета, размеры шрифта), заглушки, иконка приложения. Добавите иконки к кнопкам.

    Тема 2. Простой UI код

    На экране создания плейлиста обработаете поля ввода (обработаете условие: кнопка “сохранить плейлист” не активна пока все поля пустые). На экране настроек обработаете нажатие на чек-боксы и тогда текст пункта настроек будет меняться в зависимости от выбора. На экране создания плейлиста зададите обложку, используя картинку их ресурсов.

    Спринт 10
    Тема 1. Базовая навигация

    Реализуете переход на существующий экран с существующего экрана, сделаете splash screen. Добавите функцию Send feedback или Contact us. Реализуете навигацию с главного экрана по экранам Settings, Playlists.

    На экране Settings реализуете фичи Share app, Contact support, Rate us.

    Закрепите знания и навыки на сессии лайв-кодинга с наставником.

  • Хранение данных

    Научитесь работать с хранением данных. Рассмотрите основные способы хранения данных в Android и выполните практические задания на использование SharedPreferences.

    Подытожите знания на Q&A с наставником.

    Спринт 11
    Тема 1. In memory
    Реализуете экран создания плейлиста без непосредственно сохранения.

    Тема 2. SharedPreferences 
    Добавите сохранение истории поиска, настроек, плейлистов.

  • Многопоточность и более сложное хранение данных

    Познакомитесь с многопоточностью и продолжите работать с хранением данных, на этот раз с файловыми системами. Поймете особенности потоков данных в Android — Thread, Runnable, Handler. Научитесь работать с хранилищами файлов. Разберете проекты для домашнего задания с наставником.

    Спринт 12
    Тема 1. Многопоточность в Java
    Тема 2. Многопоточность в Android

    Реализуете debounce.

    Тема 3. Файловая система

    Добавите возможность изменять обложку для плейлиста и импортировать/экспортировать плейлисты.

  • Сеть

    Познакомитесь и поработаете с HTTP, REST API и Retrofit. Разберете ручной парсинг на сессии лайв-кодинга с наставником.

    Спринт 13
    Тема 1. HTTP + REST API
    Тема 2. Подслой Retrofit

    Сходите за песнями и обложками в интернет (реализуете сервис, который идёт за данными).

  • Продвинутый UI

    Создадите экран поиска песен на RecyclerView, добавите поддержку тёмной темы в приложении и поработаете с продвинутой навигацией. Освоите ConstraintLayout и научитесь использоваться Fragment на практике.

    Спринт 14
    Тема 1. Сложный UI - код и вёрстка

    Реализуете поиск на RecyclerView, экран с плейлистами (анимации в список). Разберете на сессии лайв-кодинга, как создавать Recycler. 

    Спринт 15
    Тема 1. Сложная работа с ресурсами

    Добавите поддержку тёмной темы, экран проигрывателя на ConstraintLayout, разберете все с наставником. 

    Спринт 16
    Тема1. Фрагменты

    Переделаете главный экран (навигейшн бар), разберете с наставником, как “жонглировать” фрагментами.

  • Архитектура

    Начнёте разбираться в архитектуре приложений, познакомитесь с концепцией Clean architecture, MVP и отрефакторите проект в MVVM.

    Спринт 17
    Тема 1. Архитектура введение

    Отрефакторите код (перепишете код одного экрана или кусок — дальше пишем правильно и красиво!).

    Тема 2. ООП + SOLID
    Тема 3. Clean architecture
    Тема 4. Описание архитектур

    Разберёте домашнее задание по SOLID с наставником.

    Спринт 18
    Тема 1. Рефакторинг и переписывание на MVVM

    Перепишете код сквозного проекта на MVVM, напишете ViewModel, используете LiveData.

  • Продвинутая многопоточность

    Поработаете с изображениями (обложками плейлистов и треков) с помощью Coroutines, познакомитесь с RxJava в тренажёре.

    Спринт 19
    Тема 1. Coroutines 
    Поработаете с изображением (обложка плейлиста) с помощью Coroutines. Разберете сложные моменты на сесии лайв-кодинга.

    Спринт 20 
    Тема 1. RxJava.

  • Продвинутая работа с сетью

    Познакомитесь с системой плагинов и сериализаторами и тем, как их использовать в OkHttp.

    Спринт 21
    Тема 1. Система плагинов и сериализаторы.
    Подключите различные сериализаторы, CallAdapters, делегируете парсинг кастомным сериализаторам. Сохраните черновики плейлистов в формате JSON с помощью библиотеки.

    Тема 2. OkHttp 
    Добавите хэдер к запросу и логирование запросов. Узнаете у наставника, как можно делать кастомную сериализацию.

  • Продвинутое хранение данных

    Начнёте работать с SQLite и Room, с помощью которых научите приложение сохранять, удалять и редактировать плейлисты.

    Спринт 22
    Тема 1. Room
    Приложение сможет с вашей помощью сохранять, удалять и редактировать плейлисты, сохранять статистику в базу данных. Реализуете добавление в избранное.

  • Продвинутая архитектура. Cборка и деплой

    Познакомитесь с DI, принципами и библиотеками (Koin), научитесь работать с конфигурацией и зависимостями.

    Спринт 23
    Тема 1. DI, принципы и библиотеки

    Переделаете презентеры на Koin.

    Тема 2. Конфигурация и зависимости

    Поменяете имя пакета или минимальную поддерживаемую версию Android, отключите поворот экрана в приложении. 
    Приложение с плейлистами закончено — отрефлексируете вместе с наставником проделанную работу.

  • Продуктовая и командная разработка

    Подготовитесь к командной разработке — познакомитесь с жизненным циклом продукта, Agile, инструментами для командной работы (трекеры). Просуммируете знания по декомпозиции задач на воркшопе.

    Спринт 24
    Тема 1. Жизненный цикл продукта (MVP etc)
    Тема 2. Agile
    Тема 3. Инструменты ведения командной работы
    Тема 4. Мобильная разработка в реальности (как устроены команды, кто есть кто, как со всеми общаться)
    Тема 5. Git для гигантов
    Тема 6. Декомпозиция задач.

  • Дипломный проект

    Разделитесь на команды по 3-5 человек и вместе сделаете приложение-афишу событий — прямо как в жизни. С помощью приложения можно узнать, какие рядом с вами будут концерты, выставки, фильмы в кино. Познакомитесь с:

    • Gradle;
    • Тестированием;
    • Firebase;
    • Crashlytics;
    • Базовой аналитикой.

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

    Спринт 25
    1 встреча
    Наставник поможет декомпозировать главные задачи проекта, команда распределит их между собой.

    2 встреча
    Проведёте ретроспективу, сделаем выводы по двухнедельному отрезку работы.

    Спринт 26
    3 встреча
    Вместе с наставником проведете планирование оставшихся задач.

    4 встреча
    Поделитесь результатами работы с другими командами на демо.

    5 встреча
    Проведёте ретроспективу, сделаете выводы по всему командному проекту.

  • Программа трудоустройства

    Эта часть курса для тех, кто решил найти работу в сфере разработки. Она становится доступна после прохождения модуля 14.

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

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

    Спринт 1

    • Профессия и целеполагание;
    • Поиск работы;
    • Рынок труда;
    • Работа мечты;
    • Подготовка резюме;
    • Хорошее портфолио.

    Спринт 2

    • Неформальный поиск работы;
    • Сопроводительное письмо;
    • Коммуникация с HR;
    • Анализ собственных результатов.

    Спринт 3

    • Подготовка к собеседованию;
    • Soft и hard-навыки;
    • Деньги;
    • Выбор компании;
    • Офис, удалёнка или фриланс;
    • Как не ошибиться при выборе компании;
    • Испытательный срок;
    • Публичное техническое собеседование.

    Акселерация

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

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

    Основной формат участия — индивидуальные консультации и публичные собеседования.

Чему научат на курсе
Создавать приложения под Android
Работать с открытой ОС
Давать фидбек
О школе
Яндекс Практикум
рейтинг 4.5
40 отзывов
79 курсов
Яндекс Практикум

Платформа онлайн-курсов «Яндекс Практикум» — проект компании «Яндекс» и «Школы анализа данных». На момент основания в 2019 году образовательные программы были рассчитаны только на начинающих веб-разработчиков и аналитиков, но сейчас в школе готовят сотрудников для IT и digital-сферы.

В каталоге Яндекс Практикума сегодня более 50 программ для начинающих и опытных специалистов.

Оставить отзыв
Оставьте свой отзыв
Так вы сделаете рейтинг школ более точным и поможете другим выбрать хороший курс

Информация носит ознакомительный характер и может отличаться от указанной на сайтах школ-партнёров. Актуальную стоимость и описание программ вы можете узнать на сайте школы.