Скачать Android-разработчик. Базовый курс. Часть 1/4 [OTUS] (2019)

Копирайт
Нет
Полнота
Часть 1 из 4

Admin

Администратор
Команда форума
Регистрация
31 Дек 2017
Сообщения
1,324
Симпатии
1,026
Название
Android-разработчик. Базовый курс. Часть 1/4
Автор
1307

Что даст вам этот курс

IT-компаниям сейчас очень не хватает опытных Android-разработчиков. На хороших специалистов ведется настоящая охота, и им готовы платить за работу до 300 тыс. рублей.

Если у вас уже есть опыт в программировании и вы хотите стать Android-разработчиком, — мы вам в этом поможем.

За время обучения вы:
  • освоите язык программирования Java;
  • научитесь профессионально создавать приложения под Android;
  • подготовитесь к собеседованию на должность Android-разработчика;
  • разработаете портфолио с использованием современных библиотек и фреймворков.
Также на курсе
Вы освоите дополнительные главы в Android-разработке, которые дадут вам большое преимущество при устройстве на работу, и повысите уровень вашей зарплаты:
  • Android Architecture Component;
  • тестирование: TDD, UI-тестирование, Mockito, тестирование Rx-кода;
  • современные фреймворки: RxJava, Dagger 2;
  • Gradle;
  • Material design.
Весь необходимый набор знаний и навыков для работы на позиции Android-разработчика
Большое преимущество на собеседованиях за счет освоения продвинутых тем
Много практики и живого общения с преподавателями
Подготовка проекта для портфолио в течение всего курса

Минимальные знания

Обязательно:
  • понимание принципов ООП;
  • опыт программирования на любом объектно-ориентированном языке программирования.
Будет плюсом:
  • знакомство с языком Java;
  • знание шаблонов проектирования;
  • умение писать чистый код;
  • навыки использования git.
Процесс обучения

Всё обучение проходит онлайн. Первый модуль по языку Java будет проходить в формате видео + онлайн-консультации с преподавателем. Весь остальной курс — в формате онлайн-вебинаров: общение с преподавателями и вашей группой в слаке курса, сдача домашних работ и получение обратной связи от преподавателя.

Вебинары идут дважды в неделю по 1,5 часа. Все вебинары сохраняются и в записи в вашем личном кабинете.

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

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

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

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

1. Денис Журавлев
Android Team Lead в Mediapark
Руководитель программы

1308

Увлекается Android-разработкой с 2011 года. Профессионально находится в этой сфере более 6 лет.

Долгое время работал над созданием приложения «Ultimate Guitar: Аккорды & Табы» — одного из лучших приложений для саморазвития 2018 года по мнению Google Play, а также сохранявшего позицию №1 в рейтинге платных приложений в США. На текущий момент занимает должность Android Team Lead в Mediapark.

Имеет опыт работы с приложениями не только со стороны разработки, но и со стороны маркетинга и продаж. Также участвовал в разработке приложений для компаний «Мегафон» и Burger King, пробовал себя в стартапах и фрилансе.

Начинал карьеру с профессиональной веб-разработки, создавал приложения на iOS, был частью Tortuga Team в качестве разработчика игр.

Любимым приложением, разработанным за карьеру, считает Tonebridge Guitar Effects.

2. Дмитрий Кожевин
Android-разработчик в МИА «Россия сегодня»
Преподаватель

1310

Программирует с 1995 года, начинал с BASIC. В процессе своей деятельности занимался разработкой систем учёта для страховых компаний. Владеет Go, Java, Kotlin.

В 2013 году переключился на профессиональную Android-разработку. Работал в компаниях «Поисковая система «Спутник» и Snaappy. В настоящее время — Android-разработчик в МИА «Россия сегодня».

Имеет два высших образования: экономическое (СЗАГС) и техническое (МГТУ им. Баумана). Является активным участником Stack Overflow.

3. Михаил Борисов
Android developer (infoware GmbH)
Преподаватель

1311

Получил степень бакалавра на факультете компьютерных наук НИУ ВШЭ по направлению "Программная инженерия".

Работает Android-разработчиком в немецкой компании Infoware GmbH. Ведет разработку на Kotlin, не забывая о принципах SOLID и Clean Architecture.

Кроме Android интересуется Data Science, в частности NLP(Natural Language Processing).


4. Антон Казаков
Руководитель направления Android-разработки в Альфа Банк

1312

Окончил магистратуру Казанского авиационного института по специальности «Радиотехника и телекоммуникации».

В Android-разработке с 2013 года. Разрабатывал приложения в небольших стартапах и огромных компаниях, работал в «СберТехе», руководил Android-разработкой в компании «Технократия».

На текущий момент руководит Android-разработкой в «Альфа-Банке». Оптимизирует процессы разработки и поставки фич, работает над тулингом, чтобы облегчить жизнь разработчикам.

Помимо Android-разработки, интересуется бэкенд-разработкой и DevOps-практиками. Любит решать алгоритмические задачи.


1. Подготовительный курс по Java
  • Консультация по Java. Часть 1
  • Консультация по Java. Часть 2
2. Базовый Android
  • Знакомство с Android Studio
  • Главный компонент Android — Activity
  • Интерфейс экрана. Базовые элементы
  • Интерфейс экрана. Material design
  • Интерфейс экрана. Использование стилей иресурсов
  • Интерфейс экрана. Продвинутая верстка
  • Интерфейс экрана. Виджеты
  • Fragments
  • Списки
3. ПродвинутыйAndroid
  • Выходим в интернет
  • Полезные инструменты
  • Компоненты Android. Часть 1
  • Компоненты Android. Часть 2
  • Компоненты Android. Часть 3
4. Многопоточность. Тестирование. Публикация
  • Многопоточность в Android
  • Тестирование в Android
  • Тестирование для Android:Mockito
  • Публикация приложения
5. Архитектурные компоненты. Реактивный подход. Внедрение зависимостей
  • Архитектурные компоненты.Часть 1
  • Архитектурные компоненты.Часть 2
  • Архитектурные компоненты.Часть 3
  • RxJava. Часть1
  • RxJava. Часть2
  • Dagger 2. Часть1
  • Dagger 2. Часть2
  • Тестирование
6. Проектная работа
  • Консультация по проекту
  • Защита проектов

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

Вам предстоит посмотреть 12 видео-лекций общей длительностью 26 академических часов. Помимо видео-лекций у вас будет 2 онлайн-консультации с преподавателем.


Вы изучите следующие темы:
  • Базовые синтаксические конструкции и операторы в Java
  • Ссылочные типы данных и обработка ошибок
  • Работа с массивами и строками
  • Объектно-ориентированное программирование в Java
  • Unit-тестирование
  • Устройство платформы Java
  • Сборка и упаковка Java-приложения
  • Классы-контейнеры
  • Исключения
  • Работа с файлами.
Тема 1: Консультация по Java. Часть 1:
На этом занятии вы разберете все вопросы, которые возникли в процессе изучения подготовительного видео-курса по Java.

Тема 2: Консультация по Java. Часть 2:
На этом занятии вы разберете все вопросы, которые возникли в процессе изучения подготовительного видео-курса по Java.

2 сентября, 20:00 — 21:30 / Лектор: Денис Журавлев

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


Тема 1: Знакомство с Android Studio
Новый проект, структура проекта, Gradle, отладка кода, Git.

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

5 сентября, 20:00 — 21:30 / Лектор: Денис Журавлев


Тема 2: Главный компонент Android — Activity
Жизненный цикл, сохранение состояния, переходы между Activity, Intent, Context.

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

12 сентября, 20:00 — 21:30 / Лектор: Дмитрий Кожевин / Домашние задания: 1

1 Начало работы над приложением по поиску фильмов. Создание проекта и страницы с фильмами.
  1. Создайте проект
  2. Залейте проект на GitHub
  3. Добавьте описание проекта в заголовке и Read.те
  4. На первом экране своего приложения создайте несколько картинок с фильмами, к каждой картинке подпишите название фильма и добавьте кнопку "Детали”
  5. По нажатию на Детали - выделяйте другим цветом название выбранного фильма, открывайте новое окно, где показывайте картинку и описание фильма
  6. Сохраняйте выделение фильма при возвращении со второго экрана и при повороте экрана
  7. Добавьте кнопку "Пригласить друга" и отправляйте приглашение по вашему выбору (почта, смс, социальные сети)
  8. * Добавьте на втором экране checkbox "Нравится” и текстовое поле для комментария. Возвращайте значение чекбокса и текст комментария при переходе обратно на первый экран
P.S. Задание со звездочкой * - повышенной сложности. Если вы с ним не справитесь - ничего страшного, оно не является обязательным.


Тема 3: Интерфейс экрана. Базовые элементы
View, View group, элементы интерфейса, меню экрана, панель навигации.

После занятия вы сможете: заполнять экраны графическими элементами (кнопки, выкидное меню, поля ввода, изображения и т.д.), создавать меню экрана и панель навигации.

16 сентября, 20:00 — 21:30 / Лектор: Денис Журавлев


Тема 4: Интерфейс экрана. Material design
Material Design, элементы Material Design, анимация.

После занятия вы сможете: создавать элементы в стиле Material Design, управлять ими, а также выполнять простые анимации (изменение положения, прозрачности и ориентации).

1 Кнопка "пригласить друга". Добавление анимации. Добавление новых фильмов в приложение.
  1. Нарисуйте интерфейс первого и второго экранов в соответствии с вашими навыками
  2. Добавьте кнопку меню и перенесите туда функционал "Пригласить друга”
  3. Добавьте Navigation Drawer. Разместите там два пункта: О приложении и Главный экран
  4. Добавьте анимацию при нажатии на картинку фильма, после которой будет открываться описание фильма
  5. * Создайте новый экран "Добавить фильм" и добавьте в Меню кнопку добавления фильма, по нажатию на которую открывается новый экран.
На нем сделайте два поля: название фильма, описание. При возвращении на главный экран - добавляйте новый фильм к уже существующим (в качестве картинки используйте заглушку)
6. * Самостоятельно изучите такие элементы как chips, bottom sheet, floating action button

PS. Задание co звездочкой * - повышенной сложности. Если вы с ним не справитесь - ничего страшного, оно не является обязательным.


Тема 5: Интерфейс экрана. Использование стилей и ресурсов
Стили и темы, элементы управления, классификация ресурсов, векторы.

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

23 сентября, 20:00 — 21:30 / Лектор: Дмитрий Кожевин


Тема 6: Интерфейс экрана. Продвинутая верстка
CoordinatorLayout, ConstraintLayout, DIalog.
После занятия вы сможете: использовать наиболее мощные и продвинутые контейнеры для верстки экранов, а также создавать кастомные диалоговые окна.

26 сентября, 20:00 — 21:30 / Лектор: Дмитрий Кожевин / Домашние задания: 1

1 Улучшение UI приложения по поиску фильмов.
  1. Добавьте snackbar или toast в свое приложение
  2. Используйте CoordinatorLayout или ConstraintLayout вместо текущих контейнеров
  3. Добавьте на главный экран CollapsingToolbar, и когда он в развернутом состоянии - отображайте в нем какой-то задний фон
  4. Перенесите весь хардкод в ресурсы приложения
  5. Примените собственные стили и темы в приложении
  6. Добавьте макет для приложения в ландшафтной ориентации
  7. Добавьте какое-нибудь изображение в векторе в ваше приложение
  8. Добавьте в NavigationDrawer пункт Выход и отображайте диалоговое окно выхода из приложения
  9. * Самостоятельно изучите такие элементы UI как BottomBar и BottomSheetDialogFragment
P.S. Задание со звездочкой * - повышенной сложности. Если вы с ним не справитесь - ничего страшного, оно не является обязательным.


Тема 7: Интерфейс экрана. Виджеты
виджеты
После занятия вы сможете создавать разнообразные виджеты своего приложения на главном экране смартфона

30 сентября, 20:00 — 21:30 / Лектор: Дмитрий Кожевин


Тема 8: Fragments
Жизненный цикл, FragmentManager, передача данных между Activity и Fragment’ом.
После занятия вы сможете: создавать экран в экране, несколько экранов рядом, передавать данные между несколькими экранами.

3 октября, 20:00 — 21:30 / Лектор: Денис Журавлев / Домашние задания: 1

Переход на единственную Activity и несколько Fragments. Создание виджета.
  1. Переведите свое приложение на единственную Активити и несколько Фрагментов
  2. * Используйте для навигации между фрагментами NavigationDrawer, BottomNavigation или BottomAppBar
  3. * Используйте retain fragment без UI для сохранения состояния вашей Активити во время пересоздания
  4. * Создайте виджет для своего приложения
P.S. Задание со звездочкой * - повышенной сложности. Если вы с ним не справитесь - ничего страшного, оно не является обязательным.


Тема 9: Списки
RecyclerView, LayoutManager, Adapter, ViewHolder, ItemDecorator.
После занятия вы сможете: создавать списки и управлять ими, удалять и добавлять элементы, кастомизировать списки под свои нужды.

7 октября, 20:00 — 21:30 / Лектор: Денис Журавлев / Домашние задания: 1

Создание механизма "избранных" фильмов.
  1. Переведите ваше приложение на отображение списков
  2. Дополните функционал вашего приложения сохранением фильмов в список избранного (избранное пока храните в обычном Array List на уровне Активити).
Используйте для этого или долгое нажатие на элемент списка, или тап на ImageView в виде сердечка рядом с названием фильма
  1. Создайте экран, где будет отображаться список Избранного. Сделайте так, чтобы в список можно было добавлять элементы и удалять их
  2. * Самостоятельно изучите ReciclerView.ltemAnimator, создайте свои собственные анимации
P.S. Задание со звездочкой * - повышенной сложности. Если вы с ним не справитесь - ничего страшного, оно не является обязательным.

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


Тема 1: Выходим в интернет
OkHttp, Retrofit, Gson, Glide.
После занятия вы сможете: загружать данные из интернета и передавать данные на удаленный сервер, загружать изображения.

10 октября, 20:00 — 21:30 / Лектор: Денис Журавлев


Тема 2: Полезные инструменты
GPS и Location, Permissions, SharedPreferences.
После занятия вы сможете: определять местоположение телефона, использовать карты и навигацию, работать с пользовательскими разрешениями и сохранять данные на длительное время.

14 октября, 20:00 — 21:30 / Лектор: Михаил Борисов / Домашние задания: 1

1 Получение информации о фильмах из публичного API. Добавление функционала по навигации до ближайшего кинотеатра.
  1. Подключите апи сервера с фильмами и скачивайте фильмы с сервера
  2. Используйте Glide для загрузки изображений
  3. Добавьте функционал позиционирования для вашего приложения: на отдельном экране отображайте наличие кинотеатров в городе, в котором находится пользователь
  4. Сохраняйте список избранного в SharedPreferences
  5. * Добавьте функционал навигации до ближайшего кинотеатра, используя API карт на ваш выбор
  6. * Продумайте, как будут загружаться фильмы, когда пользователь дойдет до конца списка, реализуйте свое решение
P.S. Задание со звездочкой * - повышенной сложности. Если вы с ним не справитесь - ничего страшного, оно не является обязательным.


Тема 3: Компоненты Android. Часть 1
Content Provider, SQLite.
После занятия вы сможете: обмениваться данными между приложениями и использовать базу данных для хранения больших объемов информации.

17 октября, 20:00 — 21:30 / Лектор: Дмитрий Кожевин


Тема 4: Компоненты Android. Часть 2
Service, работа в фоне и на переднем плане, Push.
После занятия вы сможете: запускать длительные задачи, такие как загрузка изображений, в фоновом режиме и продолжать выполнение длительных задач, даже если пользователь свернул приложение.

21 октября, 20:00 — 21:30 / Лектор: Дмитрий Кожевин / Домашние задания: 1

Добавление базы данных с фильмами в приложение.
  1. Настройте базу данных в своем приложении и храните в ней все фильмы, ссылки на изображения
  2. При заходе пользователя в приложение - обновляйте данные по фильмам в вашей БД (удаляйте все данные, заменяя их на новые, но не чаще раза в день), а если БД обновлена - загружайте данные из нее, а не из интернета
  3. Загружайте данные в БД используя сервис
  4. Отображайте пуш-уведомление для пользователя, что данные в БД обновлены. При тапе на уведомление - открывайте главный экран приложения
  5. * Самостоятельно добавьте Swipe to refresh на главный экран, чтобы пользователь мог в любое время обновить данные (даже если в БД свежие данные)
  6. * Самостоятельно настройте отправку и получение пуш-уведомлений через Firebase Cloud Messaging
P.S. Задание co звездочкой * - повышенной сложности. Если вы с ним не справитесь - ничего страшного, оно не является обязательным.


Тема 5: Компоненты Android. Часть 3
BroadcastReceiver, LocalBroadcastReceiver.
После занятия вы сможете: принимать сообщения от операционной системы (например о подключении к wi-fi или к розетке), а также передавать сообщения внутри своего приложения.

24 октября, 20:00 — 21:30 / Лектор: Михаил Борисов

Тема 1: Многопоточность в Android
Thread и AsyncTask, Handler и HandlerThread, Timer, AlarmManager, JobScheduler.
После занятия вы сможете: выполнять задачи приложения асинхронно и в фоновом режиме, выполнять задачи к определенному времени, а также подбирать способ асинхронного выполнения в соответствии с потребностями и контекстом.

28 октября, 20:00 — 21:30 / Лектор: Денис Журавлев / Домашние задания: 1

1 Отслеживание событий "есть интернет/нет", "Есть wifi/нет". Добавление функционала напоминания о выходе нового фильма.
  1. Настройте BroadcastReceiver для получения событий: есть/нет интернета, есть/нет wi-fi
  2. Используйте JobScheduler для обновления БД
  3. Добавьте в ваше приложение функционал напоминания о выходе фильма или новой серии: пользователь должен ввести название фильма и дату, когда ему отобразится пуш-уведомление.
Добавьте в меню кнопку напомнить (реализуйте интерфейс напоминания в отдельном окне или диалоге), используйте
AlarmManager для напоминания о выходе новой серии или фильма
4. * Используйте JobScheduler для регулярной синхронизации данных с сервером

P.S. Задание со звездочкой * - повышенной сложности. Если вы с ним не справитесь - ничего страшного, оно не является обязательным.


Тема 2: Тестирование в Android
Принципы разработки тестируемых приложений, test driven development, Unit-тесты.
После занятия вы сможете: писать Unit-тесты для своего приложения и понимать основы тестируемых приложений.

7 ноября, 20:00 — 21:30 / Лектор: Михаил Борисов


Тема 3: Тестирование для Android: Mockito
После занятия вы сможете: углубиться в тестирование и писать более обширные и сложные тесты для функционала приложения, создавать “моковые” объекты для тестирования.

11 ноября, 20:00 — 21:30 / Лектор: Денис Журавлев / Домашние задания: 1

Написание Unit-тестов для приложения.
  1. Напишите unit-тесты для своих классов, в том числе такие, которые используют Mockito
  2. * Покройте тестами все значимые части приложения
P.S. Задание со звездочкой * - повышенной сложности. Если вы с ним не справитесь - ничего страшного, оно не является обязательным.


Тема 4: Публикация приложения
Builds, Flavors, Flavor dimensions, Play Store.
После занятия вы сможете: создавать различные версии своего приложения (например, платная и бесплатная версии), а также понимать, что требуется для публикации приложения в Play Store.

14 ноября, 20:00 — 21:30 / Лектор: Дмитрий Кожевин / Домашние задания: 1

Публикация в Google Play.
  1. Выложите приложение в Google Play и обновляйте его уже там
  2. * Подумайте, какой платный функционал может быть у вашего приложения и создайте для этого отдельный flavor
P.S. Задание со звездочкой * - повышенной сложности. Если вы с ним не справитесь - ничего страшного, оно не является обязательным.

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

Тема 1: Архитектурные компоненты. Часть 1
Понятие и примеры архитектуры приложения, ViewModel, LiveData, LifeCycleOwner.
После занятия вы сможете: писать приложения в архитектурном паттерне MVVM и познакомитесь с архитектурными компонентами от разработчиков OS Android. Также вы будете понимать принципы построения архитектуры мобильных приложений

18 ноября, 20:00 — 21:30 / Лектор: Денис Журавлев


Тема 2: Архитектурные компоненты. Часть 2
Room, DataBinding.
После занятия вы сможете: использовать библиотеки от разработчиков OS Android для хранения данных (база данных Room) и для обновления данных непосредственно в макете XML (библиотека DataBinding)

21 ноября, 20:00 — 21:30 / Лектор: Денис Журавлев / Домашние задания: 1

1 Переход на архитектурные компоненты. Обмен данными между фрагментами. Использвание DataBinding.
  1. Переведите свое приложение на архитектурные компоненты
  2. * Обменивайтесь данными между фрагментами или фрагментом и активити используя ViewModel
  3. * Используйте DataBinding в своем приложении
P.S. Задание со звездочкой * - повышенной сложности. Если вы с ним не справитесь - ничего страшного, оно не является обязательным.


Тема 3: Архитектурные компоненты. Часть 3
WorkManager
После занятия вы сможете: выполнять любую фоновую или отложенную работу приложения в соответствии с видением разработчиков OS Android.

25 ноября, 20:00 — 21:30 / Лектор: Дмитрий Кожевин


Тема 4: RxJava. Часть 1
Концепция функционального программирования, Observable, Subscriber, основные операторы.
После занятия вы сможете: пользоваться самой мощной и популярной библиотекой для асинхронной работы приложения.

28 ноября, 20:00 — 21:30 / Лектор: Михаил Борисов / Домашние задания: 1

WorkManager, Rx.
  1. Обновляйте БД с помощью WorkManager
  2. Выполняйте запросы в интернет используя Rx
  3. * Переведите все запросы в БД на Rx
  4. * Внедрите поиск по названию фильма в своем приложении и осуществляйте поиск на сервере или в БД через Rx
P.S. Задание со звездочкой * - повышенной сложности. Если вы с ним не справитесь - ничего страшного, оно не является обязательным.


Тема 5: RxJava. Часть 2
onError, backpressure, Subject, продвинутые операторы.
После занятия вы сможете: использовать библиотеку RxJava на полную мощность, обрабатывать ошибки и подписываться на изменение объектов и данных.

2 декабря, 20:00 — 21:30 / Лектор: Михаил Борисов


Тема 6: Dagger 2. Часть 1
Основы: Module, Component.
После занятия вы сможете: упростить и автоматизировать внедрение зависимостей в своем приложении, сделать свое приложение более тестируемым.

5 декабря, 20:00 — 21:30 / Лектор: Дмитрий Кожевин / Домашние задания: 1

Использование Rx и Dagger.
  1. В запросах на сервер через Rx - учитывайте и обрабатывайте ошибки запросов корректно, учитывайте backpressure
  2. Используйте Даггер для инжекта SharedPreferences
  3. * Доработайте поиск по названию используя debounce
  4. * Самостоятельно изучите тему Scopes в Даггере, внедряйте ViewModel с помощью Даггера и разделите ваши
зависимости на скоупы

P.S. Задание со звездочкой * - повышенной сложности. Если вы с ним не справитесь - ничего страшного, оно не является обязательным.


Тема 7: Dagger 2. Часть 2
Практическое занятие: ответы на вопросы и разбор домашнего задания

9 декабря, 20:00 — 21:30 / Лектор: Дмитрий Кожевин


Тема 8: Тестирование
Тестируем Rx
Тестируем Dagger

12 декабря, 20:00 — 21:30 / Лектор: Михаил Борисов / Домашние задания: 1

1 Покрытие приложения тестами.
1. Доработайте свои тесты, чтобы они учитывали все нововведения вашего приложения, включая Dagger и Rx

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

Тема 1: Консультация по проекту


Тема 2: Защита проектов

13 января, 20:00 — 21:30 / Лектор: Денис Журавлев / Домашние задания: 1

1 Сдача проекта
Пожалуйста, сдайте:
  • ссылку на github-репозиторий с вашим проектом
  • описание проекта

Скачать:

Для просмотра скрытого содержимого необходимо Войти или Зарегистрироваться.
 

Вложения

Последнее редактирование:
Сверху