Опубликован: 10.04.2014 | Уровень: для всех | Доступ: платный
Самостоятельная работа 6:

Принципы работы c жестами вводимыми пользователями

Аннотация: Разработка приложения, помогающего понять принципы работы c жестами вводимыми пользователями.

Цель лабораторной работы:

Разработка приложения, помогающего понять принципы работы c жестами вводимыми пользователями.

Задачи лабораторной работы:

  • создать набор жестов
  • использовать созданные жесты в приложении

11.1 Введение

Начиная с версии 1.6, Android предоставляет API для работы с жестами, который располагается в пакете android.gesture и позволяет сохранять, загружать, создавать и распознавать жесты.

В данной работе рассмотрим процесс создания набора жестов, для создания жестов будем использовать приложение Gesture Builder, которое предустановлено на виртуальные устройства Android (AVD), начиная с версии 1.6.

После этого разработаем приложение, в котором предполагается распознавание и использование созданных жестов.

11.2 Создание набора жестов

Для начала создадим новое приложение.

Далее запустим эмулятор и используем приложение Gesture Builder для создания жестов "1", "2" и "S". Жест всегда связан с именем, но имя не обязательно должно быть уникальным, в действительности, для повышения точности в распознавании жеста рекомендуется сохранять несколько жестов с одним и тем же именем.

На рис. 11.1 можно увидеть приложение Gesture Builder в работе, чтобы добавить жест, необходимо нажать на кнопку Add gesture, в свободном пространстве изобразить жест (обычно он рисуется желтым цветом), в поле ввода задать имя жеста. Результат последовательного добавления жестов можно увидеть на рис. 11.2.

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

Создание жестов с помощью приложения Gesture Builder

увеличить изображение
Рис. 11.1. Создание жестов с помощью приложения Gesture Builder
Набор жестов, созданных в приложении Gesture Builder

увеличить изображение
Рис. 11.2. Набор жестов, созданных в приложении Gesture Builder

Комментарий: Gesture Builder может сообщить, что ему некуда сохранять жесты, в этом случае необходимо запустить эмулятор с образом SD карты.

Сначала образ нужно создать с помощью утилиты mksdcard (расположена в папке <AndrSDK>/sdk/tools, где <AndrSDK> - путь, куда установлен Android SDK). В командной строке напишем:

mksdcard -l mySdCard 64M gesture.img
    

Следующим шагом будет создать и запустить эмулятор с образом gesture.img, для этого зайдем в папку <AndrSDK>/sdk/tools и выполним команду:

emulator -avd nameEmulator -sdcard gestures.img
    

nameEmulator - имя, которое присвоено эмулятору при создании.

Интересная статья на эту тему по ссылке: http://habrahabr.ru/post/120016/

Каждый раз, когда мы создаем или редактируем жесты с помощью Gesture Builder, создается файл gestures на SD карте эмулятора. Необходимо импортировать этот файл в директорию res/raw/, созданного проекта, в котором планируем использовать жесты.

Расположение файла gestures

увеличить изображение
Рис. 11.3. Расположение файла gestures

Самый простой способ импортировать жесты в проект заключается использовании вкладки File Explorer в компоновке (perspective) DDMS. (Если компоновки DDMS нет найти ее можно следующим образом: Window->Open Perspective->Other...->DDMS. Если вкладки File Explorer нет, можно добавить: Window-> Show View-> File Explorer). На вкладке File Explorer найти директорию sdcard/ (в нашем случае оказалась директория storage/sdcard/, имеет смысл при создании жестов обратить внимание в какую директорию Gesture Builder их сохраняет). На рис. 11.3 показана вкладка File Explorer в компоновке DDMS.

Чтобы скопировать файл жестов с эмулятора в проект, необходимо выбрать его и нажать кнопку "Pull a file from the device", выделенную на рис. 11.3 красным подобием окружности. Откроется диалог с предложением выбрать папку, в которую необходимо скопировать жесты, здесь надо найти папку проекта, в ней папку res/raw/ (если папки raw/ нет, ее необходимо создать) и нажать кнопку Сохранить. Теперь жесты есть в нашем проекте и их можно использовать.

Марат Нуриджанян
Марат Нуриджанян
По ссылкам, приведенным в ЛР№1, отсутствуют нужные для работы программмы. Что делать?
Владимир Каункин
Владимир Каункин
В самостоятельной работе 2 [0, 99] вместо [1, 100]
Андрей Суслов
Андрей Суслов
Казахстан
Дмитрий Кузнецов
Дмитрий Кузнецов
Россия, Санкт-Петербург