Масса возможностей в маленьком гаджете. Сегодня смартфоном совершенно никого не удивить. Эти гаджеты предоставляют массу возможностей. Можно слушать музыку, просматривать видео и даже целые фильмы, выходить в интернет, посещать социальные сети, использовать навигатор, будильник, калькулятор, фонарик и множество других полезных и интересных вещей. Чаще всего возможности устройства зависят от модели или фирмы-изготовителя. Но куда большую роль для пользователя играет операционная система. Операционные системы для смартфонов позволяют нам раскрыть весь потенциал гаджета. Именно от них зависит качество его использования.
Урок 1
Операционные системы для смартфонов
Масса возможностей в маленьком гаджете. Сегодня смартфоном
совершенно никого не удивить. Эти гаджеты предоставляют массу
возможностей. Можно слушать музыку, просматривать видео и даже целые
фильмы, выходить в интернет, посещать социальные сети, использовать
навигатор, будильник, калькулятор, фонарик и множество других полезных и
интересных вещей. Чаще всего возможности устройства зависят от модели
или фирмыизготовителя. Но куда большую роль для пользователя играет
операционная система. Операционные системы для смартфонов позволяют
нам раскрыть весь потенциал гаджета. Именно от них зависит качество его
использования.
Различают три самых популярных, известных и используемых
операционных систем для смартфонов, а именно: ОС Android, IOS и Windows.
Есть и другие, но встречаются они довольно редко и в основном на китайских
моделях сомнительного происхождения.
Смартфоны с операционной системой «Андроид» Самая известная ОС
для гаджетов в мире. Кроме того, что ОС Android является open source и есть
возможность синхронизации единым аккаунтом, у него есть еще один большой
плюс Google Play.
Существуют несколько видов площадок визуальной разработки
мобильных приложений:1. App Inventor — среда визуальной разработки androidприложений,
требующая от пользователя минимальных знаний программирования
(ai2.appinventor.mit.edu).
2. Thunkable – это браузерная онлайн среда разработки нативных и
гибридных мобильных приложений под iOS 9 и выше и Android 4.4 и
выше, в основе которой лежит React Native. Уникальность данного
инструмента разработки состоит в том, что он позволяет устанавливать
неограниченное количество приложения на Android и одно приложение
на каждое iOS устройство, например, iPhone. Это достигается за счёт
использования конфигурационного профиля предприятияразработчика
платформы Thunkable, который нужно будет установить в настройках
устройства (thunkable.com).
3. В среде разработки Sketchware создание приложений происходит при
помощи графического языка программирования, похожего на Scratch,
без написания кода. По этой причине интерфейс и базовая
функциональность её подобна App Inventor 2. Оба этих инструмента
можно использовать для изучения основ разработки приложений под
Android, но Sketchware предназначен, главным образом, для создания
набросков проектов, которые затем можно будет доработать при
помощи написания кода. Для этого в нём есть функция получения
исходного кода (на Java и XML) проекта, который затем можно
скопировать, например, в Android Studio (sketchware.io).
Среда MIT App Inventor. Интерфейс пользователя.
. mit
. edu
:// ai 2. appinventor
MIT App Inventor (http
/) облачная среда
визуальной разработки приложений для платформы OS Android, работа в
которой не требует знания языка программирования Java и Android SDK,
достаточно знания элементарных основ алгоритмизации. Для работы в MIT
App Inventor необходимо наличие Google или Google Apps аккаунта, а
построение программ осуществляется в визуальном режиме с использованием
блоков программного кода.
После входа в MIT App Inventor пользователь попадает на страницу, где
отображается список его проектов. Все созданные проекты хранятся в папке
Мои проекты.
Совет: Вновь создаваемое приложение в среде App Inventor это новый
проект (меню Проекты Начать новый проект). Нажатие кнопки «Удалить
проект» – удаляет созданный проект. Переход к списку проектов из окна
разработки по по ссылке «Проекты/Мои проекты».Разработка мобильного приложения в App Inventor происходит в 2
этапа. Первый этап проектирование интерфейса пользователя «Как это
будет выглядеть», второй программирование компонент приложения «Как
они будут себя вести».
Рис. 1.1. Конструктор App Inventor
Конструктор App Inventor – режим в котором создается интерфейс
(«внешний вид») приложения”. Данный режим используют для выбора и
размещения различных компонент приложения: кнопок, текстовых полей,
изображений и др., которые отображаются на экране вашего устройства, при
запуске приложения.
Интерфейс для разработки дизайна проекта состоит из следующих
основных элементов:
Палитра включает наборы (группы) компонент будущего приложения.
Компонентами называются функциональные элементы приложения,
такие как кнопки, изображения, текст, поля для ввода текста, дат,
интерфейсы для подключения к разным датчикам вашего Androidустройства:
акселерометр, GPS, базы данных и др. Некоторые компоненты являются
частью графического дизайна, например, кнопки, а некоторые невидимы на
экране устройства, например, таймер, сенсоры или видеоплейер.
Просмотр – экран вашего приложения. Точнее один из экранов. В
приложении можно использовать несколько экранов, где будут производиться
различные действия. Например, на первом экране у вас инструкция кприложению, а на втором экране, собственно, приложение – его
функциональная часть.
Компоненты – здесь расположен список компонентов, которые вы уже
используете в своем проекте.
Совет:
При именовании компонентов
рекомендуется
воспользоваться следующим правилом «Имя компонента» = «Название
компонента» + «Действие/Функция», которое он выполняет в
приложении: КнопкаНазад, КнопкаДалее, ИзображениеФон и пр. Такое
именование компонент позволяет легко ориентироваться при
программировании для их действий или событий.
Свойства – в этой части экрана устанавливаются свойства компонент
вашего приложения, например: цвет, размер шрифта, источники изображений
и звуков, надписи, первоначальное значение и другие.
Медиа – список используемых медиафайлов (изображений, видео,
аудиороликов и т.п.)
Совет: Мобильное приложение – это не тот случай, когда в него
внедрены фильмы или большие коллекции аудио записей. Желание
встроить в приложения большие графические и звуковые файлы, может
привести к тому, что оно не только будет долго загружаться, но и
займет достаточно много памяти на самом мобильном устройстве.
Экраны приложения
Проект приложение может состоять из множества экранов. Для работы
с экраном «Screen», в окне разработки есть кнопки добавления экрана –
«Добавить Экран» и удаления экрана – «Удалить Экран». Запуск приложения
всегда начинается со стартового экрана, дизайн которого может включать
набор компонент для перехода на другие экраны.
Совет: В среде MIT App Inventor количество экранов не должно
превышать 10. При создании 11 экрана выдается предупреждение о
превышении допустимого количества экранов.Рис. 1.2. Редактор блоков App Inventor
Редактор блоков используется для программирования поведения вашего
приложения и его компонент, каким образом выбранные вами компоненты,
будут реагировать на различные действия пользователя.
В режиме «Блоки» используются три группы Блоков:
Основные группы Блоков используемых при создании приложений:
1. Встроенные блоки
Данная группа блоков позволяет задавать определенные
действия/функции созданным компонентам.
Управление – содержит общие для всех компонент блоки ветвления,
цикла, работы с несколькими экранами и пр.
Логика – содержит блоки для использования логических функций в
приложении
Математика – содержит набор математических блоков
Текст – включает набор текстовых блоков
Массивы – содержит блоки для работы с массивами/списками
Цвета – определяет блоки по работе с цветами
Переменные – блоки, позволяющие определять и устанавливать
значение глобальных и локальных переменных
Процедуры – содержит блоки, позволяющие определять процедуры и
функции, с параметрами или без них, внутри приложения.
2. Блоки действий/событий для компонентов вашего приложения
(Группа Screen 1). Задает действия компонентам конкретногоприложения. При выделении нужного компонента, отображаются
доступные для него блоки (рис 1.3).
Рис. 1.3. Блоки для компонентов вашего приложения
Конструкции из блоков собираются в поле Просмотр.Урок 2
Виды блоков в App Inventor
Программирование в App Inventor аналогично Scratch. Для соединения
блоков друг с другом предназначены выступы (ключи, выходы) и выемки
(замки, входы).
Рис. 2.1. Места соединения блоков
Горизонтальное соединение блоков
Входы и выходы, находящиеся на левой и правой стороне блока,
используются для их соединения с целью обмена данными. Количество входов
в блоке показывает, сколько параметров ему нужно передать (количество
блоков присоединить), а количество выходов – сколько параметров он может
передать другому блоку. На рис. 2.2 блок в середине принимает два
параметра, а передаёт один.
Рис. 2.2. Передача данных между блоками
Если у блока левом верхнем углу показан значок шестерёнки (средний
блок на рис. 2.2), то это значит, что количество входных параметров можно
изменить. После щелчка по значку появится панель, в которой можно
перемещать блоки опций в целевой блок или из него. В зависимости от
наличия или отсутствия горизонтальных входов и выходов блоки могут быть
следующих видов:
Недоступный (не имеет ни входов, ни выходов); Только для чтения (имеет только выход) блок, из которого
можно только читать данные;
только записывать данные;
Только для записи (имеет только вход) блок, в который можно
Для чтения и записи (имеет и вход, и выход) – доступные для
чтения и записи данных. Некоторые из этих блоков являются
адаптерами или преобразователями. Они принимают данные,
производят над ними какието действия и передают дальше.
Рис. 2.3. Виды блоков по возможности работы с данными
За некоторым исключением обмен данными между блоками происходит
справаналево: блок слева принимает данные от блока, присоединённого к
нему справа. У модели есть одна тонкость. На рисунке показан блок add
items to list, который, принимает два параметра – list (список) и item (опция).
Этот блок получает текст опции и добавляет его в список. Логичнее было бы
добавить выход, чтобы к нему присоединять список, но его нет, по причине
чего работу таких блоков следует воспринимать следующим образом: они
получают входные данные, а действия по обмену данными происходит внутри
них.
Для успешного соединения блоков необходимо соответствие типа
ожидаемого блоком параметра с типом передаваемого им параметра
(аргумента). Если блок ожидает получить число, а к нему подключают блок,
который возвращает строку, то соединения не произойдёт. В одних случаяхпреобразование типов производится автоматически, а в других его нужно
выполнить явно при помощи блокаадаптера. Например, автоматическое
преобразование типа происходит при подключении блока текста,
начинающегося с цифры, к входу index блока списка. Благодаря этому,
например, можно в одном слове передать сразу два параметра без
использования разделителя, например, так: 12Это строка
Такая запись может указать на необходимость присвоить элементу
списка с индексом 12 текст «Это строка». Для отделения текста от индекса
нужно найти номер символа от начала строки, который не является числом, а
затем выбрать строку от этой позиции до конца строки.
Подключить блок компонента к блоку отображения всплывающего
сообщения напрямую не получится, потому что первый возвращает объект, а
второй принимает строку. Значит, объект нужно привести к строковому типу.
Для этого блок компонента соединяется с блоком создания списка, который
передаст сообщению строковое представление объекта (рис. 2.4).
Рис. 2.4. Преобразование типа “объект” в тип “строка”
В данном случае блок списка используется не для создания списка, а в
качестве преобразователя типа.
Вертикальное соединение блоков
Входы и выходы, которые находятся сверху и снизу блока,
используются для задания порядка следования блоков и, соответственно,
порядка их выполнения. Этот порядок выполняется сверху вниз: сначала
выполняется самый верхний блок, затем под ним и т.д. В зависимости от
наличия вертикальных входов и выходов блоки могут быть:
Изолированными (не имеют ни входов, ни выходов) не
используются в последовательности;
Начальными
последовательность;
(имеют только выход)
– начинают
Сквозными (имеют и вход, и выход) – могут использоваться в
любом месте последовательности;
Конечными (имеют только вход) – завершают последовательность.Рис. 2.5. Виды блоков по возможности использования в последовательности
Блоки, внутри которых могут находиться другие блоки, являются
контейнерами.
Итак, горизонтальные соединения блоков используются для обмена
данными между ними, а вертикальные – для задания порядка действий над
данными, например:
Объявить и инициализировать переменную;
Сравнить её значение с другим значением;
Использовать значение переменной в качестве индекса для
получения по нему элемента списка;
Показать в диалоге выбранный элемент из списка.
Все блоки в App Inventor делятся на блоки компонентов и встроенные
(builtin). Блоки компонентов предназначены для работы с событиями и
свойствами как видимых на экране компонентов (виджетов) – кнопками,
текстовыми полями, флажками, списками и др., так и невидимыми
компонентами – сенсорами, хранилищами данных, медийными компонентами
и др.
Встроенные блоки используются для создания внутренней логики
приложения и выполнения операций присваивания значений разных типов,
управления, сравнения, преобразования и др.
Блоки компонентов отличаются тем, что в них присутствует поле с
именем компонента. На рис. 2.5. зелёный блок является блоком компонента с
именем btnExecute и выбранным свойством Text. Это блок для изменения
надписи.Блоки в App Inventor разделены на группы, каждая из которых имеет
свой цвет. Это позволяет определить тип данных, с которыми они работают, и
характер их действий, например, блоки красного цвета работают с текстом, а
фиолетовые относятся к процедурам или выводом сообщений. Определить
точное действие блока помогают надписи на нём.
Функции режима «Блоки»
При работе в режиме «Блоки» часто используются следующие его
функции:
Свернуть/Развернуть блок.
Функция «Свернуть блок» используется для оптимизации места на
экране, при создании приложений с большим программным кодом.
После выполнения функции “Свернуть блок”, конструкция блоков
принимает следующий вид:
Чтобы развернуть блок, необходимо щелкнуть по конструкции правой
кнопкой мыши и выбрать меню «Развернуть блок»
Также вы можете:
1. Добавлять комментарий. Комментирование блоков полезно при
написании любых программ, вы оставляете комментарий для
пояснения действий и событий, которые заложены в этой
конструкции.
2. Отключить/Включить блок.
Данная функция может
использоваться при тестировании программ, чтобы не удалять блоки,
когда вы сомневаетесь в правильности их использования. Вместо
удаления в корзину, на время можно отключить их использование.
3. Удалить блоки. Блоки удаляются без перетаскивания в корзину.
4. Выполнить. Функция позволяет запустить к исполнению любую
часть кода и используется при тестировании программ. В этом
случае необходимо иметь подключение к эмулятору.
5. Копирование блоков. Копировать блоков внутри экрана, можно
используя контекстное меню. Для этого необходимо щелкнутьправой кнопкой мыши на нужной конструкции блоков и выбрать
«Создать копию»
6. Копировать все блоки или один в рюкзак.
Урок 3
Загрузка и установка приложения на устройство
Разработка приложения происходит в облачной среде MIT App Inventor.
Тестирование и отладка происходит на мобильном устройстве.
Рекомендуется для разработки использовать настольный ПК или ноутбук, а
для отладки и тестирования мобильное устройство с предустановленным
приложением MIT App Inventor Companion, которое позволяет считывать
QR код созданного вами мобильного приложения для установки его на ваше
устройство.
Способы загрузки приложения на устройство:
в исходном коде (файл c расширением .aia)
Исходный код в формате .aia позволяет редактировать приложение.
Исходный код генерируется со страницы проекта меню Проекты /
Экспортировать выбранные проекты (.aia) на Мой компьютер.
в виде исполняемого файла (файл c расширением .apk)Файл приложения .apk генерируется в App Inventor в меню Построить
Приложение (сохранить .apk на компьютер). Файл .apk является
исполняемым приложением, которое работает на устройстве.
в виде QRкода приложения
Генерируется с помощью команды меню Построить – Приложение
(создать QR код для скачивания .apk).
Для считывания QR кода и установки приложения на мобильное
устройство необходимо установить приложение MIT AI2 Companion App из
Google Play на мобильное устройство. При установке ваших приложений .apk
на мобильное устройство, необходимо разрешить установку приложений из
неизвестных источников
(Настройки – Приложения – Неизвестные
источники)
Если у вас есть мобильное устройство с OS Android и WiFi соединение:
1. На мобильном устройстве загрузить и установить из магазина Google
Play приложение MIT AI2 Companion App;
2. Подсоединить компьютер, на котором вы работаете и мобильное
устройство к сети с доступом к интернету, например, через WiFi;
3. На компьютере открыть проект, который нужно протестировать, и
выбрать в меню Помощник – Помощник AI.
4. На экране компьютера появится QR код вашего приложения5. Запустить MIT AI2 Companion на мобильном устройстве и нажать
Scan QR code. Через несколько секунд приложение появится на
вашем устройстве.
Если у Вас отсутствует мобильное устройство с OS Android?
1. Загрузить и установить специальное программное обеспечение App
Inventor Setup Software;
2. Запустить aiStarter. aiStarter будет успешно запущен, если
отображается окно следующего вида:
3. Перейти в окно проекта в MIT App Inventor и выбрать меню
Подключиться – Эмулятор.
Если вы используете USB кабель
1. Подготовить устройство для использования USB (Включить отладку
по USB). На Android устройстве, перейти в меню Настройки системы – Для
разработчиков, и включить пункт меню Отладка USB.На большинстве устройств, работающих под управлением Android 3.2
или старше, выбрать опцию в Настройки – Приложения –Разработка.
На Android 4.0 и новее, это в Настройки – Функции для
разработчиков.
На Android 4.2 и старше, Функция для разработчиков по умолчанию
скрыта. Чтобы включить данную функцию, перейдите в меню Настройки – О
телефоне и нажмите номер сборки семь раз. Далее необходимо вернуться к
предыдущему экрану, чтобы найти меню Для разработчиков, в том числе
«USB Debugging».
2. Подключить мобильное устройство к компьютеру. Подключить
Android устройство к компьютеру с помощью кабеля USB, убедиться, что
устройство подключается как «запоминающее устройство», а не как «медиа
устройство».
На Android 4.2.2 и старше, при первом подключении мобильного
устройства к компьютеру появится экран с сообщением «Разрешить USB
отладку», для подключения его к компьютеру нажмите «ОК».
3. Проверить соединение. Убедитесь в том, что ваш компьютер
подключен к мобильному устройству.
4. Скопировать файл .APK, сохраненный на вашем компьютере, в
папку на мобильном устройстве.
Загрузка .apk файла на мобильное устройство
Загруженный для установки .apk файл приложения хранится на
мобильном устройстве в каталоге Download. Доступ к нему можно получить
с помощью приложения «файловый менеджер».
Для разных OS Andriod версии одного и того же приложения могут
перезаписываться в различных вариантах. Новое приложение может быть
установлено на место старого, или в виде новой версии c модифицированными
именем. Рекомендуется периодически в каталоге Download удалять старые
версии приложения.
Компоненты приложенияРис. 3.1 Перечень компонент приложения
Компоненты приложения размещаются на экране в режиме «Дизайн».
Все компоненты разделены на несколько групп.
Интерфейс пользователя включает такие компоненты как кнопка,
текст, флажок, надпись и другие, которые позволяют приложению
взаимодействовать с пользователем.
Расположение – компоненты, отвечающие за макетирование экрана,
позволяют размещать компоненты интерфейса пользователя
горизонтально, вертикально, или в ячейки таблицы. В среде MIT App
Inventor нет форматирования, позволяющего задавать интервалы между
определенными компонентами, поэтому для макета и задания
расстояния
используются
компоненты группы расположения с определенными заданными
свойствами, например высота или ширина.
между элементами
и пространства
Медиа – компоненты, позволяющие задействовать в приложении
различные медиа инструменты: устройства, микрофоны и наушники,
камеру, звуки и аудиофайлы и другое.
Рисование и анимация – группа компонент, позволяющих рисовать или
создавать анимацию в приложении.
Хранилище – компоненты, позволяющие передавать значения внутри
приложения и сохранять какиелибо данные приложения на внешнем
устройстве. Сенсоры – группа невидимых компонент, позволяющих использовать в
приложении данные, полученные с различных сенсоров и датчиков
мобильного устройства.
Общение – компоненты, обеспечивающие связь с социальными сетями.
Позволяющие делиться информацией, получать доступ к контактам
устройства и пр.
Каналы – компоненты, позволяющие запустить какоелибо внешнее
действие из приложения: другое приложения на мобильном устройстве,
камеру, поиск в сети интернет или открыть вебстраницу.
LEGO MINDSTORMS – компоненты, обеспечивающие управление
LEGO MINDSTORMS NXT и EV3 с использованием Bluetooth.
Разрешение экрана
При работе в среде MIT App Inventor штатное разрешение экрана
320х480 пикселей. Создание приложения в ней требует установки связи
положения и размера каждого компонента с разрешением экрана.
Различные мобильные устройства имеют разные разрешения экранов.
Вид приложения на смартфоне и семидюймовом планшете будет выглядеть
поразному, и на планшете все компоненты могут быть в 1,5 раза крупнее. При
разработке приложений для различных экранов лучший способ задания
свойств некоторых компонентов в процентах от размера экрана.
Урок 4
Первое мобильное приложение
Рассмотрим алгоритм создания приложения на примере проекта,
имитирующего игральный кубик, который будет выкидывать кубик с нужным
количеством кружков, если мобильное устройство встряхнуть.
Алгоритм работы:
1. Создать Google аккаунт или использовать созданный ранее;2. Войти в среду визуального программирования MIT App Inventor по
ссылке http://ai2.appinventor.mit.edu/;
3. В окне «Terms of Service» выбрать «I accept the terms of service»;
4. В окне «Welcome to App Inventor 2» выбрать «Continue»;
5. Выбрать язык «Русский»;
6. Создать новый проект «Начать новый проект CubeSensor»;
7. Рабочий экран среды визуального программирования будет
выглядеть следующим образом:
8. Перенести компонент Изображение в окно экрана мобильного
устройства, выбрать Изображение – Загрузить в свойствах
компонента.
9. Загрузить графический файл для компонента Изображение.10. Загрузить последовательно 5 графических файлов (сторон кубика) с
помощью функции «Загрузить файл».
11. Переименовать компонент Изображение1 в СторонаКубика.12.Выбрать в группе Сенсоры – СенсорАкселерометра и перенести его в
область экрана мобильного устройства.13. Выбрать компонент Screen1 и установить его свойства «Выровнять
по горизонтали», «Выровнять по вертикали», «Ориентация
Экрана».
14. Перейти в
СенсорАкселерометра1
режим Блоки
и
в меню справа,
перетащите
выбрать
блоккогда.СенсорАкселерометра1.Вибрация в поле блоков программы.
Данный блок будет запускаться как только устройство будет
подвержено вибрации.
15. Выбрать компонент
СторонаКубика1 и перенести блок
присвоить.СторонаКубика1.изображение
в поле блоков
программы. Данный блок выводит изображение графического файла
на экран мобильного устройства.
16. Для изображений сторон кубика (файлы 1.png6.png) имя файла
изображения формируется с помощью функции “соединить”:
случайное число в диапазоне от 1 до 6 (у нас 6 сторон кубика), плюс
расширение графического файла .png.17.Выбрать Математика Случайное целое от 1 до 100 и установить
значения диапазона от 1 до 6.
18.Добавить блок
, и вписать туда текст «.png» для
последующего соединения со случайным значением от 1 до 6.
19.Оформить приложение и установить иконку в свойствах компонента
Screen1.20. Программа готова, необходимо загрузить ее на мобильное
устройство для этого нажать Построить – Приложение (Создать
QRкод для
скачивания. apk)
21.Получить QRкод программы
22.Запустить на мобильном устройстве MIT AI2 Companion App и
просканировать QRкод приложения
23. Установить приложение на мобильное устройство. После
завершения установки, открыть приложение при помощи иконки на
рабочем столе или в меню «Все приложения».Урок 5
Практические приемы создания приложений
Объекты (компоненты) приложения могут реагировать на
определенные события: нажатие на какуюлибо клавишу, щелчок мышью по
объекту, прикосновение к экрану или достижение края экрана и т.п.
После определенного события могут происходить какиелибо
действия. Основным средством для обработки события являются так
называемые блоки заголовков: Когда кнопка... Например, Когда Кнопка
Шелчок (событие) проигрывается Звук (действие)
Некоторые события могут не зависеть от пользователя, к ним относятся:
События таймера;
События датчика, например, координаты GPS;
События на устройство, например, входящие сообщения;
События, связанные с анимацией объектов, например, достигнут край
или происходит наложение объектов;
Анимация события, такие как два объекта столкновения;
Вебсобытия, связанные с данными поступающими из сети.
Кнопки
Кнопки являются наиболее часто используемым компонентом и
используются для запуска различных действий.
События, которые могут происходить с компонентом Кнопка по
инициативе пользователя включают в себя, следующие:
Щелчок;
В фокусе;
Потерян Фокус;
Долгое нажатие;
Провести вниз;
Провести вверх.
Примеры приложений:
Используемые компоненты
Табличное расположение
Изображения
Звуки
НадписьПриложение «Загадка»
Описание: Приложение в котором, при нажатии на кнопку меняется
изображение на ней.
Приложение «SoundBoard»
Описание: Приложение, в котором, при нажатии на соответствующие
изображения, проигрываются соответствующие звуки.
Примеры приложений «Зоопарк», «Оркестр», «Колокольная галерея».Приложение «Отгадайка»
Описание: Тестовое приложение в котором, при нажатии на часть
соответствующее данной части
изображения выдается сообщение,
изображения.
Одним из интересных приемов работы с изображением служит скрытое
разделение изображения на части. Изображение, части которого необходимо
выделить разрезается на нужное количество частей с помощью
http://imagesplitter.net/ Полное изображение, создается из кнопок, каждая их
которых содержит отдельный элемент. На основе таких приемов, можно
строить тестовые задания с использованием изображений и кнопок.Приложения с несколькими экранами
Создание приложения с несколькими экранами аналогично созданию
нескольких отдельных приложений.
Количество создаваемых в приложении экранов определяется
разработчиком, но не может быть более 10. По умолчанию в
момент создания нового проекта в нем всего один экран.
Компоненты каждого экрана создаются в режиме “Дизайнер” для
этого экрана. В режиме “Блоки” отображаются блоки, только для
компонент текущего экрана.
При создании приложений с несколькими идентичными экранами,
используйте функцию копирования блоков между экранами.
Навигация (переход) между экранами организуется с помощью
кнопок или с помощью действий.
Каждый экран, закрывается в случае перехода на другой или
возвращении на тот, с которого он был открыт.
Экраны могут обмениваться информацией путем принятия и
возвращения значений, когда они открываются и закрываются.
Экраны могут использовать для хранения и получения с других
экранов данных только с использованием TinyDB, к примеру счет
игры, количество набранных баллов в тесте.
Копирование блоков между экранами
Некоторые приложения могут содержать идентичные экраны, с таким
же набором компонент и аналогичными действиями.
В этом случае есть возможность копирования блоков программы с
одного экрана на другой.Алгоритм копирования включает следующие шаги:
1. Перейти в режим Блоки;
2. На экране, перенести нужный набор блоков в «Рюкзак»;
экран;
4. Вновь нажать на Рюкзак и вынести нужные блоки на экран;
5. Скопированные на другой экран блоки отображаются со значками
предупреждения;
3. Перейти на другой
6. После настройки компонент и привязки их к конкретному экрану
знаки предупреждения будут удалены.
Обмен данными между экранами
Способ 1. Использование компонента TinyDB
Компонент TinyDB используется внутри приложения для передачи
данных между экранами. В этом их отличие от глобальных переменных,
которые сохраняются в пределах одного экрана, пока приложение работает.
Компонент TinyDB очень полезен, поскольку позволяет сохранить
данные приложения на Android устройстве. Обычно такие
небольшие данные используются для сохранения настроек
приложения.
Что вам нужно знать об этом компоненте:
компонент невидимый, он никак не отображается; у вас только
одно хранилище данных. Если вы поместите несколько
компонентов TinyDB, то получите доступ к одному и тому же
набору данных.
С помощью TinyDB вы не можете получить доступ к данным
другого приложения.
После того как данные сохранены в TinyDB они останутся там,
пока TinyDB не будет очищено.
Способ 2. Использование функции открытия экрана с начальным значениемПри передаче данных между экранами можно использовать обработчик
события для экрана. На экране, с которого нужно передать данные,
необходимо в этом блоке указать нужные переменные или значения:
На другом экране можно получить их с помощью функции получить
начальное значение, к примеру при инициализации экрана:
Списки
Использование списков в приложении позволяет создавать
нестандартные цвета для компонент и их свойств, создавать записные книжки
для хранения данных: различных фильмов, произведений, телефонов друзе и
многое другое. В некоторых приложениях необходимо вводить переменные.
Переменные
Переменные – это область памяти, в которой можно хранить
какиелибо значения.
Переменная должна иметь свое уникальное имя, в приложении на
одном экране не может быть двух переменных с одинаковыми
именами.
Переменная в приложении определяется с помощью блока
Инициализировать.
Информация, хранящаяся в переменной может изменяться.
Локальная переменная – это переменная, которая инициализирована
внутри функции или она может быть аргументом, переданным в функцию или
процедуру. Доступ к локальной переменной возможен только к этим
переменным в конкретной функции или процедуре, в которой они были
заданы или передан в качестве аргумента.
Глобальная переменная – это переменная, которая может быть
доступна в нескольких областях программы внутри одного экрана. Внутри
программы можно получить текущее значение переменной или задать новое
значение.
Списки (в английской версии List или одномерные массивы) одни из
самых интересных компонент приложения.Списки / массивы представляют собой определенный тип структуры
данных, которые используются во всех языках программирования. Массивы
можно использовать для создания и управления различными наборами
значений / компонент.
Индекс
Положение элемента в списке называется его индексом. В MIT App
Inventor, первый элемент в списке имеет индекс 1.
При создании приложений можно ссылаться на конкретный элемент
внутри списка, если знаем, какой индекс имеет элемент в данном списке.
В приложении кроме набора стандартных цветов, есть возможность
создания собственного цвета. Такая функция может быть реализована с
помощью списка.
RGB (аббревиатура английских слов Red, Green, Blue) – аддитивная
цветовая модель, как правило, описывающая способ синтеза цвета для
цветовоспроизведения. При задании цвета в App Inventor – может быть
заданное четвертое значение является дополнительным и представляет
значение альфа или как насыщенный цвет. По умолчанию альфа значение по
100.Приложение «Фонарик»
Описание: Приложение, в котором холст закрашивается случайно
сгенерированными цветами.
Компоненты приложения:
Холст;
Кнопка.Урок 6
Рисование
Основные тезисы:
Холст
Компонент Холст является дополнительной панелью приложения.
Холст используется для рисования на нем объектов, размещения текста
и анимации изображений – спрайтов.
Отображение холста во весь экран требует установки параметров
«Наполнить родительский» при задании свойств Высоты и Ширины
Холста.
Размещение дополнительных компонент на экране, кроме холста,
требует установки фиксированных значений его ширины и высоты.
Местоположение объекта на холсте определяется значениями X, Y
значение по отношению к левой верхней углу холста. X представляет
горизонтальное положение объекта, 0 является левой границей и Х
увеличивается, когда объект перемещается вправо. Y вертикальнаяположение объекта, 0 верхняя граница и Y увеличивается, когда объект
перемещается вниз.
Рисование круга/окружности на холсте требует указания параметров
координаты X и Y центра круга, а также радиуса в пикселях и
параметра заливки (ложь/истина).
Рисование линий на холсте требует установки параметров X и Y начала
и конца линии.
При использовании случайных значений координат и в случае, когда
ширина холста определяется параметром «Наполнить родительский»,
рекомендуется использовать функции определения ширины и высоту
холста для устройства, как показано на примере:
Приложение «Рисование»
Описание: Приложение, позволяющее пользователю рисовать на экране.
Компоненты:
Кнопка; Холст.
Анимация
Основные тезисы
Холст является обязательным компонентом приложений с
анимированными объектами.
Для анимации предлагается два компонента – «Шар» и
«ИзображениеСпрайта». Шар – это круг, для которого можно
установить такие свойства как радиус и цвет.ИзображениеСпрайта
–
прямоугольное изображение,
в
качестве источника которого,
может быть установлено любое
загруженное изображение.
Оба этих объекта должны быть
размещены на холсте, и могут
реагировать на прикосновения,
перемещения, взаимодействовать с
другими спрайтами и пр.
На холсте может находиться
множество компонент данного
типа.
Существуют
определенные
правила задания угла движения
спрайта и определения края
холста. Числовые значения края
устанавливаются на основании
следующей схемы:
Приложение «Игра в мяч»
Описание: Приложение в котором мяч двигается по экрану и при
достижении края отскакивает от него и движется в обратную сторону.Медиа
Основные тезисыМедиа компоненты позволяют использовать встроенные в мобильные
устройства фото и видеокамеры, динамики, микрофоны и пр.
Медиакомпоненты включают в себя:
Проигрыватель
для
– предназначен
воспроизведения
аудио/видеофайла или для вибрации телефона. Компонент Проигрыватель
невидимый, его лучше всего использовать для воспроизведения аудиофайлов,
для воспроизведения видео используется компонент VideoPlayer.
Звук – применяется для воспроизведения коротких звуковых файлов
вроде звуковых эффектов. Особенность этого компонента – свойство
Минимальный Интервал, задающее минимальный интервал звучания, после
которого звук будет повторяться.
ТекстВРечь – компонент, позволяющий преобразовать Текст в речь.
ЯндексПереводчик – позволяет переводить тексты с одного языка на
другой. Для работы с ними требуется подключение к сети Интернет. Язык
перевода задается в формате en – английский, ru – русский, es – испанский, fr
– французский.
Видеоплеер
используется для воспроизведения видеофайлов.
Поддерживаются форматы: Windows Media Video (wmv), 3GPP (3gp), MPEG
4 (mp4). Максимальный размер файла 1 Мбайт. В отличие от компонентов
Player и Sound, данный компонент отображается на экране.
Камера – используется для получения снимка со встроенной камеры
устройства.
Распознаватель Речи – компонент, позволяющий преобразовать речь в
текст.
Выборщик изображений служит для выбора изображения из вашей
галереи изображений. Компонент похож на ListPicker, он тоже представляет
собой кнопку, которая открывает окно выбора, только не элементов списка, а
изображений.
Диктофон – позволяет записать звук.
Приложение «Переводчик»СенсорыСенсоры – это микроустройства внутри смартфона или планшета,
которые делают его умным, и связывают с внешним миром.
В мобильных приложениях могут быть использованы следующие
сенсоры:
Акселерометр (Gсенсор) – позволяет отследить ускорение, которое
придается устройству, определяет ускорение устройства и используется в
приложениях, где предполагается управлять действием приложения, изменяя
положение устройства в пространстве, например, тряся его.
Датчик приближения – позволяет определить приближение объекта
без физического контакта с ним.
Датчик освещенности позволяет определить степень наружного
освещения и соответственно настроить яркость экрана.
Гироскоп определяет положение в пространстве и позволяет
отслеживать поворотом устройства и скорость поворота
Магнитный компас
(магнитометр) отслеживает ориентацию
устройства в пространстве относительно магнитных полюсов Земли
Сенсор ориентации обеспечивает получение данных от гироскопа и
компаса мобильного устройства.
Часы – обеспечивают отсчет времени, используя часы мобильного
устройства Единица времени – миллисекунда. Позволяют отслеживать
текущее время, считать временные промежутки и т.д.
Сенсор местоположения получает данные от датчика GPS, определяя
широту и долготу, а также высоту над уровнем моря.
При использовании сенсора местоположения GPSдатчик на устройстве
должен быть включен
Совет: Создание приложений, использующих сенсоры, требует
предварительной проверки наличия сенсоров, имеющихся на устройстве.
К примеру приложение Sensor Box for Android, которое можно скачать
из магазина Google Play обнаруживает все доступные датчики на устройства,
и демонстрирует на графиках как они работают.
Программы, написанные с использованием сенсоров, нужно тестировать
не в эмуляторе, а на реальном устройстве, оснащенном данными датчиками.
Приложение «Где я?»
Описание: Приложение, которое выводит на экран широту, долготу и
адрес местонахождения в настоящий момент.Математические функции
Группа блоков Математика содержит следующий набор операций и функций:
математические операции (сложение, умножение, деление, вычитание,
сравнения и др.)
математические функции
функции случайных чисел
функции преобразования одних величин в другие функции округления величин
работы с числами в различных системах счисления
Получить доступ к различным функциям и построить сложные
математические конструкции можно с помощью модификации блоковПриложение «Конвертер систем счисления»
Описание: Приложение, которое позволяет конвертировать введенные числа,
в двоичную и шестнадцатеричную систему счисления.
Урок 7
Лабораторная работа «Факториал».
В данном уроке рассматривается применение циклов со счётчиком на
примере программы, вычисляющей факториал числа.
Что такое факториал? Факториал – функция, определённая на
множестве неотрицательных целых чисел. Факториал натурального числа nопределяется как произведение всех натуральных чисел от 1 до n
включительно:
Например: 5! = 1*2*3*4*5 = 120. Следует знать, что 0! = 1.
Что такое цикл со счетчиком? Цикл со счётчиком — цикл, в котором
некоторая переменная изменяет своё значение от заданного начального
значения до конечного значения с некоторым шагом, и для каждого значения
этой переменной тело цикла выполняется один раз.
Итак, начнем…
1. Создаем новый проект «Factorial»;
2. Компоненты:
a. Надпись – для текста заголовка;
b. Надпись – для текста поля ввода числа N;
c. Текст – для поля ввода числа N;
d. Надпись – для текста поля показа результата;
e. Текст – для вывода результата;
f. Кнопка – для генерации счетчика.
3. Заголовок экрана Screen1 изменим на «Factorial»;4. В свойствах компонента «Надпись1» меняете текст на «Факториал»,
размер шрифта и выравнивание текста «По центру».
5. В свойствах компонента «Надпись2» меняете текст на «Число N:»,
размер шрифта;
6. В свойствах компонента «Текст1», меняете ширину экрана
«Наполнить родительский» и добавляете подсказку «Введите
число»7. В свойствах компонента «Надпись3» меняете текст на «Факториал
числа N:», размер шрифта;
8. В свойствах компонента «Текст2», меняете ширину экрана
«Наполнить родительский» и добавляете подсказку «Здесь
появится результат»;
9. В свойствах компонента «Кнопка1», меняете ширину экрана
текст
«Наполнить родительский», шрифт и добавляете
«Вычислить»;
10. Переходим в режим «Блок», создаем две переменные. Первая
переменная – это само число N, т.е. для считывания числа изкомпонента «Текст1». Вторая переменная – это сам факториал,
который будет вычисляться.
11.
После ввода числа N необходимо нажать на кнопку для
дальнейших действий. Заходим в блок «Кнопка1» выбираем
КогдаКнопа1.Щелчок делать присваеваем переменную N,
которую мы получаем из компонента «Текст1»;
12. Теперь нам необходимо определить как вычислить факториал числа
N. Для этого мы будем использовать цикл со счетчиком, находится
он в блоке «Управление».
В счетчике цикла мы указываем считывать с 1 до переменной N
шагом 1, когда выполняется повторение, мы должны умножить
факториал на новое число (счетчик). Когда счетчик дойдет до N, мы
должны присвоить Текст2 значение факториала.Урок 8
Этапы разработки мобильного приложения
Идея. Все начинается с главной идеи Вашего приложения. Допустим,
Вам нужно приложение для службы доставки готовых блюд с возможностью
оставлять заявки на доставку пиццы из приложения. Это приложение будет
полезным и нужным пользователям, которые пользуются услугами подобных
компаний и заказывают продукты. Также приложение служит инструментом
аккумулирования клиентов вокруг компании посредством мобильных
устройств. Поэтому перед тем как приступить к разработке приложения,
нужно хорошо продумать, чем оно будет полезно пользователям и бизнесу, а
также определить целевую аудиторию этого приложения. В данном случае это
могут быть студенты или офисные работники, клиенты компании, которые
используют приложения для быстрой связи со службой доставки, а также
люди, которые много передвигаются и которым необходима возможность
совершать заказы через мобильное устройство. Определившись с идеей
приложения и целевой аудиторией, можно переходить к следующему этапу.
Основные вопросы, на которые должна отвечать ваша идея.
Какую проблему хотите решить?
Кого касается эта проблема?
Что нужно для решения проблемы и почему?
Какое решение?
Проектирование приложения предполагает создание карты, которая
наглядно продемонстрирует весь функционал приложения, экраны продукта и
схему переходов между ними. По сути дела, создается прототип приложения,
на основании которого в дальнейшем будет разрабатываться сам продукт.Дизайн, подготовка графики. Разработка дизайна будущего приложения
предполагает создание графических элементов для всего приложения — это
экраны, то есть фоновые изображения вкладок, изображение для главного
экрана, иконки всего приложения, шапки для отдельных страниц, понеобходимости создаются кнопки с индивидуальным дизайном. Важно
подвергать все графические элементы юзабилитиисследованию, чтобы
понимать, насколько удобно будет пользователю нажимать на экране своего
мобильного устройства на все эти элементы и кнопки приложения.
Этап сборки приложения состоит из трех составляющих: создание
вкладок и функций, наполнение контентом и настройка внешнего вида
приложения. Но прежде чем перейти к ним, необходимо настроить параметры
приложения, задав код приложения, название приложения для AppStore и
GooglePlay и название иконки приложения на рабочем столе пользователей.
Тестирование. После того как приложение разработано, важно
протестировать его на мобильном устройстве заказчика. Для этого есть
специальная программа – приложение просмотра мобильных приложений. Как
выглядит приложение при просмотре, так же оно будет выглядеть и работать
после публикации. Поэтому на данном этапе важно выявить недоработки,
сбои и некорректное отображение элементов, чтобы можно было исправить их
еще до публикации.
Публикация приложения – это последний этап разработки. После того как
выявлены и исправлены ошибки, а приложение согласовано с заказчиком,
можно приступать к публикации.
Для этого Вам необходимо
зарегистрировать аккаунт разработчика в GooglePlay/ AppStore и подать
заявку на публикацию Вашего приложения. Стоимость регистрации аккаунта
разработчика в GooglePlay составляет 25 долларов единовременно, в AppStore
– 99 долларов в год.
После публикации мобильного приложения начинается важный этап
запуска его в жизнь, то есть продвижение мобильного приложения среди
пользователей и потенциальных клиентов.