+7 (812) 703-02-02 info@hse.spbstu.ru
18.01.2022 19:00 День открытых дверей программ профессиональной переподготовки
Для участия нужна регистрация...

DEV-A-20. Разработка приложений Android. Продвинутый уровень.

Длительность дисциплины: 40 ак.ч.


Аннотация

Настоящий курс представляет собой продолжение курса «Разработка приложений для Android (базовый уровень)» и состоит в детальном рассмотрении прикладных аспектов проектирования и реализации приложений для мобильных устройств, работающих под управлением операционной системы Android.

Курс затрагивает такие нетривиальные задачи, как:

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

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

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

Начинающие разработчики также часто сталкиваются с неочевидными типовыми задачами, которые выходят за пределы освещаемых документацией вопросов. Для некоторых задач можно найти решение в интернете, а для некоторых – нет. Но, в любом случае, будет потрачено много времени на поиск.

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

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

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


Знания и умения, полученные в результате изучения

В результате освоения курса слушатель будет знать:

  • Средства и методы организации исполнения фоновых процессов
  • Расширенные средства организации пользовательского интерфейса и структуры приложения для портативного устройства. В том числе: использование фрагментов, создание собственных вариантов разметки интерфейса, использование единого навигационного меню приложения
  • Средства и методы организации исполнения вычислительно-ёмких процедур
  • Особенности локализации и глобализации приложений для операционной системы Android
  • Особенности получения данных с сенсоров портативных устройств в операционной системе Android
  • Особенности связанные с воспроизведением мультимедиа на портативных устройствах

В результате обучения слушатель будет уметь:

  • Использовать средства библиотеки обратной совместимости
  • Создавать собственные варианты разметки пользовательского интерфейса
  • Использовать фрагменты
  • Менять поведение стандартных библиотечных классов
  • Организовывать выполнение параллельных задач
  • Запускать сервисы и управлять их исполнением
  • Использовать анимации
  • Создавать собственные анимации и применять их к элементам пользовательского интерфейса
  • Воспроизводить звук и видео
  • Записывать звук с микрофона портативного устройства и получать изображение с камеры
  • Получать и использовать данные сенсоров портативного устройства
  • Производить определение местоположения устройства и встраивать карты Google в приложение
  • Выполнять локализацию приложения и учитывать локализацию при отображении данных

Содержание дисциплины

Модуль 1. Расширения Android SDK

  • Библиотека обратной совместимости (Android Support Library)
  • Драйвер USB (Universal Serial Bus Hub)
  • Сервисы Google Play

Модуль 2. Ресурсы. Локализация и глобализация

  • Ресурсы приложения
  • Стили и темы
  • Локализация
  • Глобализация

Модуль 3. Класс приложения

  • Назначение класса приложения
  • Унификация бизнес-логики
  • Обмен данными между активностями

Модуль 4. Процессы и потоки

  • Потоки (Thread)
  • Класс AsyncTask
  • Загрузчики (Loaders)
  • Метод runOnUIThread

Модуль 5. Сервисы

  • Фоновые сервисы
  • Способы запуска фоновых сервисов
  • Сервисы «переднего плана» и системный лоток
  • Жизненный цикл сервиса
  • Роль уведомлений в жизненном цикле сервисов
  • Методы, которые следует знать

Модуль 6. Фрагменты и Navigation Drawer

  • Подходы к организации интерфейса
  • Фрагменты их роль и значение
  • Пользовательские элементы управления и фрагменты
  • Фрагменты и повторно используемый код
  • Жизненный цикл фрагмента и его место в жизненном цикле активности
  • Запуск фрагмента и управление фрагментами
  • Карты, MapFragment и SupportMapFragment
  • Единое навигационное меню приложения (Navigation Drawer)

Модуль 7. Пользовательская разметка (Custom Layout)

  • Базовый класс ViewGroup
  • Метод onMeasure
  • Метод onLayout
  • Метод onSizeChanged
  • Создание разметки при помощи адаптера

Модуль 8. Анимации

  • Анимация свойства
  • Анимация представлений
  • Покадровая анимация

Модуль 9. Мультимедиа

  • Воспроизведение. Классы MediaPlayer и AudioManager
  • Захват звука с микрофона
  • Камера

Модуль 10. Broadcast ресиверы

  • Системные уведомления
  • Ресиверы и получения уведомлений о системных событиях
  • Декларативная регистрация ресивера
  • Регистрация ресивера непосредственно в коде

Модуль 11. Сенсоры и геолокация

  • Сенсоры мобильного устройства
  • Получение данных с сенсоров
  • Мониторинг состояния сенсоров
  • Геолокация

Модуль 12. Исполнение вычислительно-ёмких процедур

  • NDK (Native Development Kit)
  • JNI (Java Native Interface)
  • RenderScript
  • Расширенный RenderScript

Модуль 13. Исполнение кода по расписанию

  • Класс AlarmManager
  • Класс AlarmClock
  • Класс Timer
  • Класс Handler