Курс предназначен для обучения школьников средних и старших классов, знакомых с основами языка Java, которым интересно программирование для мобильных устройств. Первый модуль знакомит с основами программирования под Android: интерактивное взаимодействие с экраном, организация анимации, работа с базами данных. Позволяет создать первое приложение уже после нескольких занятий.
На занятиях дети разрабатывают небольшие приложения. Обычно – одно законченное приложение за занятие. А главная цель: разработка компьютерной игры для мобильного телефона или планшета. Итоговыми проектами ребят из пилотной группы стали:
- Приложение для создания заметок. Особенность приложения в том, что пользователь сможет настроить цветовую гамму от фона до шрифта по своему вкусу.
- Игра "Шар судьбы" - карманный вариант "предсказателя" в собственном телефоне. Для вывода сообщения с предсказанием на экран используется подключение к акселерометру устройства.
- Space game. Создавая эту игру, школьники изучили масштабирование. К объектам можно приближаться, удаляться или поворачивать их во время игры.
С видеопрезентацией проектов созданных на курсе можно ознакомиться на ютуб-канале 1С:Клуба программистов: https://youtu.be/JDbF3INxPSY.
Второй модуль посвящен более сложным аспектам программирования для мобильных устройств: динамическая генерация интерфейса, сетевые взаимодействия, управление жестами, основы 3D-графики и др. Итоговыми проектами ребят из пилотной группы стали:
- Сетевая игра в умножение. Программа, обучающая таблице умножения в игровой форме по сети.
- Космическая аркада 3D. Игра с управлением жестами, системой частиц для генерации взрывов и управлением при помощи жестов.
- MoodTracker (Трекер настроения). Программа позволяющая отмечать свое настроение в разных местах с выводом собранной статистики на карты Google. См. видео: https://youtu.be/rJVACJyMrDc
Первый модуль курса "Java для мобильных" ориентирован главным образом на операционную систему Android. В то же время на занятиях второго модуля будет рассматривается кроссплатформенная библиотека LibGDX, с помощью которой можно создать приложения, которые запускаются и на Android и на iOS.
Продолжительность каждого модуля курса: 24 академических часа (достаточно для 12 занятий по субботам в течение одного школьного полугодия).
Краткое содержание модуля 1:
Занятие №1. На старт!
На занятии рассказывается об установке и настройке необходимых компонентов для программирования под Android.
Занятие №2. Шар судьбы
Законченное приложение за одно занятие. Принцип программирования, основные компоненты Android-проекта
Занятие №3. Флаги
Основные менеджеры разметки. Работа с XML.
Занятие №4. Конструктор Архитектора
Работа с RelativeLayout – мощным и гибким менеджер разметки.
Занятие №5. Пульт архитектора
Взаимодействие с элементами разметки. Слушатели событий интерфейса.
Занятие №6. Цветной блокнотик
Стек активностей. Кратковременное и долговременное сохранение информации.
Занятие №7. Android paint
Обработка событий касания.
Занятие №8. Трекер настроения.
Работа с базой данных.
Занятие №9. Spacegame I. Движок
Принципы построения игрового движка. Основы для игры.
Занятие №10. Spacegame II. Объекты
Реализация основных объектов космической аркады – астероиды, звезды, взрывы.
Занятие №11. Spacegame III. Окончание
Доработка игры – добавление очков, жизней, запись результатов в базу данных
Занятие №12. В приложении произошла ошибка
Краткое содержание модуля 2:
Занятие №1. Puzzle
Программная генерация элементов графического интерфейса на примере игры "Пятнашки" с переменным размером игрового поля.
Занятие №2. Photoshop
Работа с изображениями. Применение фильтров, получение изображения с камеры и из галереи, сохранение изображения.
Занятие №3. Multitouch
Разработка собственного View, поддерживающего мультикасания и управление жестами.
Занятие №4. Виджеты
Полный цикл разработки виджетов для Рабочего стола: разметка, файл конфигурации виджета, добавление компонента в манифест, установка и обновление.
Занятие №5. Потоки
Запуск нового потока, обращение к GUI-потоку.
Занятие №6. По сети!
Основы сетевых взаимодействий, разработка простейшего сервера и Android-клиента для него.
Занятие №7. NetGame
Оформление сервера в виде Android Service, программирование простой сетевой игры.
Занятие №8. Карты
Работа с GoogleMaps.
Занятие №9. Hello, LibGDX!
Основы работы с трехмерной графикой при помощи библиотеки LibGDX. Модели и их представления, направленный свет, загрузка готовых моделей, управление камерой.
Занятие №10. 3D-Game I. Самое главное
Разработка фреймворка 3D-игры: главный класс игры, космический корабль и астероиды, слежение за объектом , управление кораблем.
Занятие №11. 3D-Game II. Спецэффекты
Реализация столкновений объектов, добавление объекта "лазер", взрывы, добавление звука
Занятие №12. App Manager
Работа со списками на примере разработки менеджера приложений.
Отладка по Android. Рассматриваются инструменты и принципы классической отладки и особенности поиска и справления ошибок под Android.