Разработка мобильных приложений, группа 144, семестр 7
-
iprbookshop.ru.
Березовская Ю. В. «Введение в разработку приложений для ОС Android»
«»
-
startandroid.ru.
Start Android - учебник по Android для начинающих и продвинутых
Лекция 1
Тема. Основы мобильных технологий.
Аппаратное и программное обеспечение мобильных технологий. Виды мобильных, встраиваемых и носимых устройств. Мобильные операционные системы. Магазины мобильных приложений. Виртуальная, дополненная и смешанная реальности в мобильных приложениях.
Лекция 2
Тема. Программные инструменты создания мобильных приложений.
Среды разработки и языки программирования. Средства сопровождения, отладки и тестирования. Системы контроля версий, системы управления дефектами. Введение в среду программирования приложений для мобильных устройств MIT AppInventor. Основные структурные блоки программирования. Установка приложений на мобильные устройства. Жизненный цикл разработки мобильных приложений. Эмуляторы мобильных устройств на десктопной системе.
Лекция 3
Тема. Основные компоненты приложения.
Группы компонентов. Отображаемые и неотображаемые компоненты. Экраны, менеджеры контента, надписи, кнопки, текстовые поля, списки. Разработка приложений содержащих с мультимедиа-объекты: изображения и аудио ресурсы. Компоненты Sound и Button. Практическая работа по созданию мобильных приложений.
Лекция 4
Тема. Дизайн приложения и программирование компонент
Шаблоны проектирования пользовательского интерфейса: вертикальный, горизонтальный, табличный. Скроллинг экрана. Обработчики событий. Жизненный цикл приложения.
Лекция 5
Тема. Экраны приложения и передача данных между ними.
Экран приложения и его свойства. Принципы создания приложений с несколькими экранами. Передача данных между экранами.
Лекция 6
Тема. Массивы и списки в приложении.
Использованием массивов при создании приложений с большими наборами однотипных компонент. Операции со списками. Визуальное представление списков. Обработка событий списков.
Лекция 7
Тема. Анимация объектов в мобильных приложениях.
Приемы задания цветов для приложений. Модель RGB. Способы создания приложений с использованием компонента Canvas. Система координат компонента Canvas. Компоненты Ball и Sprite, свойства компонент. Программирование управляемых событий. Программирование движений. Графическая библиотека OpenGL ES, OpenGL for Embedded Systems.
Лекция 8
Тема. Использование сенсоров в приложении
Типы сенсоров, используемые в приложении. Определение сенсоров на мобильных устройствах. Сенсорный экран, микрофон, камера. Датчики IMU, inertial measurement unit: акселерометр, гироскоп, компас. Датчик приближения. Датчик температуры. TOF-датчик. Системы глобального позиционирования. Биометрические датчики.
Лекция 9
Тема. Информационные системы для мобильных устройств.
Использование компонента Tiny DB. СУБД SQLite. Формирование запросов. Локальные и удаленные СУБД.
Практическое занятие 1
Тема. Основы мобильных технологий.
Перечень заданий
В приложении из примера 1 создайте третий экран и кнопки для перехода между экранами. На каждом экране должно быть две кнопки Next и Back для перехода в прямом и обратном направлениях в очереди экранов соответственно.
На втором экране приложения создайте поле ввода и кнопку Apply. При нажатии на эту кнопку текст, введенный в поле ввода, должен выводиться на первом экране в компоненте Label.
На первом экране создайте кнопку Settings, при нажатии на которую совершается переход на второй экран настроек приложения. Задайте необходимые элементы управления для изменения, которые применяются на главном экране, например, размер шрифта текста, цвет фона, надпись на кнопке, английские и русские подписи кнопок и полей, видимость объектов на первом экране, доступность для действий кнопок, полей ввода и т.д. На экране приложения создайте кнопку Apply, при нажатии на которую применяются измененные настройки.
Практическое занятие 2
Тема. Программные инструменты создания мобильных приложений.
Перечень заданий
1. Создайте простое мобильное приложение с помощью онлайн среды.
2. Создайте мобильное приложение в офлайновой среде разработки.
4. Настройте виртуальное устройство в среде Android Studio.
3. Протестируйте приложени с помощью эмулятора.
Практическое занятие 3
Тема. Основные компоненты приложения.
Перечень заданий
1. В приложении примера 1 добавьте второе текстовое поле. После завершения произнесения текста из первого поля приложение произносит «Second text», или «Второй текст», а затем текст из второго текстового поля.
2. Создайте приложение, которое произносит текст, закодированный в QR-коде.
3. Добавьте в приложение примера 1 возможность произнесения текста циклически из 1-го и 2-го полей ввода, т.е. после произнесения 2-го фрагмента текста продолжается воспроизведение 1-го фрагмента.
Практическое занятие 4
Тема. Основные компоненты приложения.
Перечень заданий
1. Вывести элемент списка с заданным индексом в отдельный компонент Label. Индекс элемента списка задается в поле ввода.
2. Элемент, выбранный в компоненте ListView, и его индекс выводятся в отдельные компоненты Label.
3. Добавьте кнопки Next и Back, при нажатии на которые на 1 изменяется индекс элемента массива и выводится по очереди следующий или предыдущий элемент списка и его индекс.
Практическое занятие 5
Тема. Дизайн приложения и программирование компонент
Перечень заданий
1. В списке содержатся имена графических файлов, при выборе из списка имени на экран выводится соответствующее изображение.
2. Сохраните каждый элемент списка в отдельную строку текстового файла.
3. В текстовом файле содержатся несколько слов, записанных в колонку. При нажатии на кнопку Load приложение загружает каждое слово в отдельный элемент списка и в компонент ListView.
Практическое занятие 6
Тема. Дизайн приложения и программирование компонент
Перечень заданий
1. Список списков. В первом файле хранится список файлов: ноутбуки, мониторы, планшеты. В трех других файлах хранятся названия 1) ноутбуков, 2) мониторов, 3) планшетов. При нажатии на кнопку Load в ListView1 загружается список из первого файла. При выборе элемента из этого списка в ListView2 загружаются элементы выбранного списка.
2. В приложение из предыдущей задачи добавьте возможность добавлять новый список, заполнять его и сохранять в файл.
3. Объедините возможности приложений 5 последних заданий в одном приложении.
4. Создайте приложение, в котором выбранное из списка слово произносится с помощью компонента синтеза речи TextToSpeech.
Практическое занятие 7
Тема. Экраны приложения и передача данных между ними.
Перечень заданий
1. Создать 2-х экранное приложение 2-м способом. Экран настроек приложения находится на 2-м экране. Сохранить настройки с помощью компонента TinyDB.
2. Сохранить с помощью TinyDB настройку фонового изображения главного экрана. Это изображение задают на втором экране из списка изображений в компоненте ListView.
3. В папке assets хранятся 2 текстовых файла. В многострочное поле ввода при нажатии на кнопку Файл 1 загружается содержимое первого текстового файла, а при нажатии на кнопку Файл 2 - второго.
4. В папке images на карте памяти хранятся 2 файла с изображениями. На экран приложения при нажатии на кнопку Рисунок 1 загружается изображение из первого файла, а при нажатии на кнопку Рисунок 2 - второго.
Практическое занятие 8
Тема. Экраны приложения и передача данных между ними.
Перечень заданий
1. Создать приложение, в котором таймер используется для автоматического изменения значения переменной-счетчика. Создайте 2 кнопки Start и Stop, которые соответственно запускают и останавливают процесс. Задание для самостоятельного выполнения: добавьте поле ввода для задания шага и кнопку Pause для приостановки процесса.
2. Создайте приложение, в котором таймер используется для автоматического вывода элементов списка из компонента ListView в компонент Label.
3. Создайте приложение, в котором таймер используется дляслайд-шоу изображений, названия которых хранятся в списке.
Практическое занятие 9
Тема. Массивы и списки в приложении.
Перечень заданий
1. В пример 1 добавьте поле ввода для задания шага с которым должно изменяться значение счетчика.
2. В кнопку Pause для приостановки процесса. При нажатии на кнопку Start после нажатия на Stop счетчик обнуляется. При нажатии на кнопку Start после Pause счетчик продолжает изменяться с того значения, на котором приостановились.
3. Создайте приложение, в котором для выполнения задачи из примера 1 используется цикл из вкладки Controls.
Практическое занятие 10
Тема. Массивы и списки в приложении.
Перечень заданий
1. Создать приложение, в котором компонент Sensors/BarcodeScanner использует камеру мобильного устройства для считывания и декодирования QR-кода. Декодированный текст выводится в компонент Label.
2. В приложении примера 1 добавьте компонент Chekbox, который разрешает или запрещает использование стороннего сканера QR-кода, установленного в системе.
3. Создайте приложение, текст полученный путем сканирования QR-кода, перенаправляется с помощью Bluetooth интерфейса.
4. В приложении примера 1 добавьте список и компонент ListView, в котором сохраняются результаты сканирования QR-кода.
Практическое занятие 11
Тема. Анимация объектов в мобильных приложениях.
Перечень заданий
1. В приложении примера 1 добавьте таймер, с помощью которого измеряется время затраченное на сканирование QR-кода. В три компонента Label выводятся момент времени старта сканирования, момент завершения и разность между ними.
2. Создайте приложение, в котором с помощью таймера с заданной периодичностью запускается сканер QR-кода, а результаты сканирования сохраняются в компоненте ListView. После заданного количества элементов списка, например после получения каждого пятого элемента, они сохраняются в текстовом файле.
3. Создать приложение, которое произносит (utterance) текст, введенный в текстовое поле с помощью компонента Media/TextToSpeech, т.е. мобильного сервиса речевого синтеза. Определите, какую максимальную длину может иметь текст, который приложение способно произнести. Задание для самостоятельного выполнения: добавьте кнопку Stop, при нажатии на которую останавливается воспроизведение текста.
Практическое занятие 12
Тема. Анимация объектов в мобильных приложениях.
Перечень заданий
1. Слова записаны в список и выведены в компоненте ListView. Система синтеза речи произносит либо очередное слово из списка при нажатии на кнопку Next, либо выбранное произвольное слово из компонента ListView.
2. В приложение текст загружается из файла. Из текста извлекается фрагмент заданной длины и передается для произнесения системе синтеза речи. При нажатии на кнопку Next из текста извлекается следующий фрагмент.
3. Создать приложение, в котором компонент датчик акселерометр Sensors/AccelerometerSensor позволяет определить угол наклона мобильного устройства по координатным осям декартовой системы x, y и z.
Практическое занятие 13
Тема. Использование сенсоров в приложении.
Перечень заданий
1. Приложение с помощью акселерометра ведет подсчет количества наклонов мобильного устройства вправо и произносит текущий счет. Предусмотрите кнопку для сброса счетчика в нуль.
2. Приложение с помощью акселерометра ведет счет отдельно для наклонов в каждую сторону: «Влево», «Вправо», «Вперед», «Назад».
3. Создать приложение, которое принимает данные по интерфейсу Bluetooth. Задание для самостоятельного выполнения: добавьте в приложени с помощью нескольких компонентов CheckBox возможность принимать данные с помощью различные методов компонента BluetoothClient: ReceiveSigned1ByteNumber, ReceiveSigned2ByteNumber, ReceiveSigned4ByteNumber, ReceiveSignedBytes(int numberOfBytes), ReceiveText(int numberOfBytes), ReceiveUnsigned1ByteNumber, ReceiveUnsigned2ByteNumber, ReceiveUnsigned4ByteNumber, ReceiveUnsignedBytes(int numberOfBytes).
Практическое занятие 14
Тема. Использование сенсоров в приложении.
Перечень заданий
1. В среду AppInventor интегрируйте расширение для работы с технологией
Bluetooth Low Energy.
2. Создайте приложение, которое выводит данные, принимаемые по интерфейсу
BLE со встраиваемой микроконтроллерной системы.
Практическое занятие 15
Тема. Информационные системы для мобильных устройств.
Перечень заданий
1. Решите задачи второго занятия с помощью драйвера SQLite.
2. Решите задачи третьего занятия с помощью драйвера SQLite.
Практическое занятие 16
Тема. Информационные системы для мобильных устройств.
Перечень заданий
1. Решите задачи четвертого занятия с помощью драйвера SQLite.
2. Решите задачи пятого занятия с помощью драйвера SQLite.
Контроль самостоятельной работы 1
Тема. Использование сенсоров в приложении.
Перечень заданий
1. В приложении примера 1 добавьте компоненты Label для отображения показаний акселерометра по осям y и z.
2. Создайте приложение, которое по интерфейсу Bluetooth передает показания датчика акселерометра.
3. Создайте приложение, в котором выводится сообщение о том, в каком направлении наклонено мобильное устройство, словами: «Влево», «Вправо», «Вперед», «Назад». Эти сообщения произносит система синтеза речи.
Контроль самостоятельной работы 2
Тема. Информационные системы для мобильных устройств.
Перечень заданий
1. Создайте в командной оболочке SQLite базу данных с информацией о графических
файлах.
2. Используя базу данных SQLite, выведите в приложении изображение графических
файлов на экран.