Java для мобильных


Курс предназначен для обучения школьников средних и старших классов, знакомых с основами языка 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.