• A
  • A
  • A
  • АБB
  • АБB
  • АБB
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта
Бакалавриат 2025/2026

Научно-исследовательский семинар "Основы Android-разработки на Java"

Статус: Курс по выбору (Программная инженерия)
Когда читается: 2-й курс, 1-3 модуль
Охват аудитории: для всех кампусов НИУ ВШЭ
Преподаватели: Макаров Сергей Львович
Язык: русский
Кредиты: 3
Контактные часы: 48

Программа дисциплины

Аннотация

Целями освоения дисциплины являются: изучение основ и получение практических навыков программной инженерии в области разработки программного обеспечения для мобильных устройств под Android. Основные задачи дисциплины следующие: изучение одного из инструментов разработки программного обеспечения для мобильных устройств под операционную систему Android (по умолчанию - Android Studio); знакомство с особенностями разработки мобильных приложений; знакомство с основными конструкциями соответствующего языка программирования (по умолчанию - java); знакомство с облачными технологиями для разработки мобильных приложений от Google; получение практических навыков по разработке полноценного мобильного приложения. На занятиях разбираются эти и другие темы и практические задания, которые даются студентам для самообучения. Всего предусмотрено от 16 до 23 практических заданий и одно домашнее задание, суть которого в том, чтобы придумать тему и реализовать её в виде мобильного приложения. Экзамен заменён дополнительными (extras) заданиями.
Цель освоения дисциплины

Цель освоения дисциплины

  • Целями освоения дисциплины являются: изучение основ и получение практических навыков программной инженерии в области разработки программного обеспечения на Java для мобильных устройств под управлением ОС Android.
Планируемые результаты обучения

Планируемые результаты обучения

  • Знать инструменты разработки мобильных приложений, особенности работы с эмулятором
  • Уметь использовать фрагменты в мобильных приложениях
  • Знать expllicit intents, implicit intents, виды и применение интентов.
  • Знать основные моменты по управлению памятью
  • Уметь применять асинхронные операции в коде
  • Знать и уметь применять observer pattern
  • Знать про dependency injection
  • Знать про уровень данных, уметь его организовать
  • Знать про паттерны и построение уровня интерфейса
  • Знать про motionlayout, valueanimator, objectanimator, materialmotion
  • Более подробно знать активити и способа упаковки приложений (aab, apk)
  • Знать некоторые аспекты безопасности на мобильном устройстве и касательно приложений
Содержание учебной дисциплины

Содержание учебной дисциплины

  • Материалы
  • Разработка Android-приложения с помощью eclipse/Android Studio IDE - знакомство с новой версией, xml-разметкой, с языком Java
  • Фрагменты (fragments)
  • Intents: intent filters - expllicit intents, implicit intents
  • Memory management: garbagecoll, leaks, stack, heap, queue, value vs reference type
  • Async: coroutines, thread! rxjava/rxkotlin, workmanager
  • Observer pattern: flow, rxjava, livedata
  • Design patterns: dependency injection? (basic dagger (annotations, singleton; no components)) service locator diff from it, di codegen / di codereflex
  • Data layer: datastore, workmanager
  • UI layer: data binding, viewbinding, viewmodel, MVVM, MVC?, MVI, MVP, clean
  • Network: okhttp, retrofit (get post json rest?)
  • Animation, motionlayout, valueanimator, objectanimator, materialmotion
  • Activiy task and back stack, parcelables and bundles (activity, app entry points). Aab vs Apk
  • Немного о безопасности
Элементы контроля

Элементы контроля

  • неблокирующий HA
    Домашнее задание - это законченное мобильное приложение, позволяющее реализовать какую-то идею, коррелирующую с лабораторными работами и темами семинаров. Домашнее задание может сдаваться когда угодно, хоть в 1 модуле.
  • неблокирующий L
    10 лабораторных работ по курсу; могу сдаваться когда угодно - в 1 модуле, во втором или в конце третьего. Из-за особенностей ПУД 2.0 период реализации и оценивания указан как 3 модуль, иначе система считает, что по курсу 3 домашки, 3*10 лабораторных и 3 экзамена, если указывать в периодах все 3 модуля.
  • неблокирующий Э
    Экзамен состоит из 5 дополнительных заданий (лабораторок) повышенной сложности и может сдаваться когда угодно.
Промежуточная аттестация

Промежуточная аттестация

  • 2025/2026 3rd module
    0.3 * HA + 0.5 * L + 0.2 * Э
Список литературы

Список литературы

Рекомендуемая основная литература

  • Android глазами хакера. — 2-е изд., перераб. и доп. — (Глазами хакера) - 978-5-9775-1797-3 - Зобнин Е. Е. - 2024 - Санкт-Петербург: БХВ-Петербург - https://ibooks.ru/bookshelf/396449 - 396449 - iBOOKS
  • Head First. Программирование для Android на Kotlin. 3-е изд. - 978-5-4461-2016-1 - Гриффитс Дэвид, Гриффитс Дон - 2023 - Санкт-Петербург: Питер - https://ibooks.ru/bookshelf/391722 - 391722 - iBOOKS
  • Коротеев, М. В., Введение в Android разработку на Java : учебное пособие / М. В. Коротеев, А. Ю. Шаталова. — Москва : КноРус, 2024. — 231 с. — ISBN 978-5-406-12061-3. — URL: https://book.ru/book/950351 (дата обращения: 04.07.2025). — Текст : электронный.
  • Программирование на Kotlin для Android: Пер. с англ. - 978-5-9775-0944-2 - Шалин Павел, руковод. проекта - 2024 - Санкт-Петербург: БХВ-Петербург - https://ibooks.ru/bookshelf/396448 - 396448 - iBOOKS
  • Разработка Android-приложений с нуля. — 3-е изд.: Пер. с англ. - 978-5-9775-9665-7 - Хортон Дж. - 2023 - Санкт-Петербург: БХВ-Петербург - https://ibooks.ru/bookshelf/389667 - 389667 - iBOOKS

Рекомендуемая дополнительная литература

  • Введение в разработку приложений для ОС Android : учебное пособие / Ю. В. Березовская, О. А. Юфрякова, В. Г. Вологдина, О. В. Озерова. — 2-е изд. — Москва : ИНТУИТ, 2016. — 433 с. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/100707 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.
  • Пирская, Л. В. Разработка мобильных приложений в среде Android Studio : учебное пособие / Л. В. Пирская ; Южный федеральный университет. - Ростов-на-Дону ; Таганрог : Издательство Южного федерального университета, 2019. - 123 с. - ISBN 978-5-9275-3346-6. - Текст : электронный. - URL: https://znanium.com/catalog/product/1894469

Презентации

  • Презентация для выбора курса

Авторы

  • Макаров Сергей Львович
  • Буцкая Евгения Александровна