ISSN 1991-3087
Рейтинг@Mail.ru Rambler's Top100
Яндекс.Метрика

НА ГЛАВНУЮ

Мобильное приложение для казахского дактильного языка

 

Жулин Андрей Александрович,

студент Костанайского государственного университета им. А. Байтурсынова, г. Костанай,

Научный руководитель – старший преподаватель кафедры информатики

Ермагамбетова Г. Н.

 

Компьютерные технологии стали неотъемлемой частью как общества в целом, так и отдельного человека в частности. В настоящее время они активно применяются во всех сферах жизнедеятельности человека.

Одной из таких технологий являются мобильные устройства. За последние несколько лет произошла эволюция в сфере мобильных устройств. Обычные телефоны с простыми функциями превратились в сложные смартфоны с большим количеством разнообразных приложений. Это положило начало развитию рынка разработки различных мобильных приложений. На сегодняшний день существует множество видов приложений, позволяющих узнать последние новости, сделать заказ в интернет-магазине, почитать книгу, пообщаться с друзьями и многое другое. И поскольку мобильный телефон почти всегда «под рукой», то воспользоваться всеми возможностями мобильных приложений можно в любое время и в любом месте.

Наряду с обычными приложениями существуют также специальные мобильные приложения для людей с ограниченными возможностями, которые помогают им как в межличностном общении, так и в повседневных делах. Например, приложения для общения с глухими и слабослышащими людьми, которые переводят устную речь в текст и обратно; приложения, которые с помощью видеочата соединяют незрячих людей с волонтерами для оказания помощи в различных бытовых ситуациях; приложения для развития и общения взрослых и детей с такими расстройствами как аутизм и ДЦП и многие другие [1].

Люди с нарушением слуха для межличностного общения используют дактильную и жестовые речи. Дактильная речь – форма общения, при которой общение происходит с помощью жестов и каждый жест обозначает тот или иной звук речи. Жесты дактильной азбуки визуально схожи с буквами письменного алфавита. Жестовая же речь предполагает обозначение с помошью одного жеста отдельного слова или выражения [2].

Для общения с помощью мобильного устройства люди с нарушением слуха могут воспользоваться специальным мобильным приложением, где на клавиатуре вместо букв располагаются соответствующие им дактильные жесты. Существуют несколько вариаций этого приложения для определенных дактильных алфавитов, так как для каждого письменного языка существует свой набор дактилем. В ходе выполнения дипломной работы разрабатывается мобильное приложение виртуальной клавиатуры для казахского дактильного алфавита.

Любое мобильное приложение состоит из одного или нескольких макетов и активностей. Макеты создаются в виде файлов в разметке XML и полностью определяют внешний вид экрана мобильного устройства. В макет можно добавлять различные объекты, такие как кнопки, текстовые поля, списки, переключатели, задавать их расположение относительно экрана и других объектов и изменять свойства. Причем добавление объектов можно осуществить двумя способами. Первый способ – перетащить нужный объект из списка на экран виртуального мобильного устройства. Второй способ – вручную прописать в коде XML добавление нужного объекта и задать его расположение. Второй способ удобен тем, что можно задать точное расположение для каждого объекта.

Активности определяют, что именно приложение должно делать. Активности представляют собой специальный класс Java, в котором прописывается, как именно приложение должно реагировать на те или иные действия пользователя. Например, когда пользователь нажимает на кнопку, происходит отправка предварительно введенного в тестовое поле сообщения другому пользователю.

Активности и макеты взаимодействуют между собой следующим образом. В момент запуска приложения создается объект активности, который задает макет. Активность приказывает вывести макет на экран. Далее пользователь взаимодействует с объектами макета, отображенного на экране устройства. Активность реагирует на эти взаимодействия и выполняет код приложения. После этого активность меняет содержимое макета и пользователь видит эти изменения на экране [3].

И хоть основной код приложения пишется на языке Java, устройства на базе Android не запускают файлы с разрешениями .class и .jar. Это означает, что обычной среды разработки на языке Java для создания мобильного приложения недостаточно, необходимо также наличие специальных инструментов для преобразования откомпилированного кода в формат Android, установки его на Android-устройствах и отладки приложения, когда оно заработает. Все это содержится в пакете Android SDK (AndroidSoftwareDevelopmentKit). Файлы-приложения для Android имеют разрешение .apk.Эти файлы содержат уже откомпилированный java код, а также все необходимые библиотеки и ресурсы, необходимые для работы приложения Можно сказать, что .apk файл это архив JAR или ZIP с мобильным приложением [3].

На данный момент существует несколько версий платформы Android от 1.0 до 7.1. Каждой версии соответствует свое кодовое имя и уровень API. Например версия Android 4.4 носит название KitKat и имеет 19 уровень API. Одно и тоже кодовое имя может сразу у нескольких версий Android.

API (ApplicationProgrammingInterface) – интерфейс программирования приложений. Это набор готовых процедур, функций и классов, предоставляемых системой Android, для написания мобильных приложений [4]. При разработки мобильных приложений необходимо учитывать минимальную версию Android. Минимальная версия Android означает, что приложение будет работать на мобильных устройствах, начиная с этого версии и выше. То есть, если разрабатывать приложение для наиболее последней версии Android (например 6.0), то может оказаться так, что написанное приложение не запуститься на большинстве устройств.

Мобильное приложение виртуальной клавиатуры для казахского дактильного алфавита разрабатывается для Android 3.0, то есть подразумевается, что оно будет работать на большинстве мобильных устройствах. Приложение состоит из одного макета, которое определяет содержимое экрана устройства и одной активности, которое будет вводить сообщение пользователя и оправлять его собеседнику с помощью неявного интента через другие приложения, поддерживающие функцию отправки сообщений (рис. 1).

 

Рис. 1. Макет мобильного приложения.

 

Макет приложения виртуальной клавиатуры содержит заголовок, в котором указывается его название, текстовое поле, обычные кнопки и кнопки с картинкой. В текстовое поле будут загружаться изображения дактилем из которых будет состоять текст сообщения для последующей передачи собеседнику. Кнопки «X» и “SEND» предназначены соответственно для удаления последнего введенного изображения дактилемы и отправки введенного сообщения собеседнику. При нажатии на кнопку с картинкой в текстовое поле будет загружаться соответствующее изображение.

Основное отличие кнопки с картинкой и обычной кнопки в том, что вместо надписи в кнопку можно поместить изображение. Все изображения хранятся в отдельной папке со всеми ресурсами. При создании .apk файла, в него кроме откомпилированного java кода, попадают все ресурсы и библиотеки, необходимые для работы приложения. В разметке XML в свойствах кнопки с картинкой прописывается путь к изображению, которое необходимо в нее поместить. В папке ресурсов также можно хранить строковые значения. При задании надписей на объектах в разметке XML или для использования этих строк в java коде можно не писать весь текст строки, а указать путь к нужному строковому ресурсу. Это делается по двум причинам. Во-первых, если предполагается, что приложением будут пользоваться люди из разных стран и разговаривающие на разных языках, то лучшим решением будет создать несколько строковых ресурсов на нескольких языках для одних и тех же объектов, и при изменении языка в приложении изменить для надписи у каждого объекта путь к строке на нужном языке. Во-вторых, если в коде много одинаковых строк и есть вероятность того, что в будущем будет необходимо поменять их содержимое, то лучшим решением будет предварительно создать один строковый ресурс, и при необходимости поменять текст только в этом ресурсе, а не во всем коде приложения, где встречается нужная строка.

У всех кнопок есть несколько состояний, например, когда кнопка не нажата или нажата и когда кнопка находится в фокусе. В мобильном приложении виртуальной клавиатуры используются два состояния – когда кнопка не нажата и нажата. Состояния кнопок можно использовать, например чтобы задать внешний вид кнопки для каждого из состояний. Для этого дополнительно необходимо создать новый XML файл и в нем создать новый ресурс selector. Далее в ресурсе указывается, какой фон необходимо использовать для каждого состояния, а в макете приложения в свойствах кнопки при указании заднего вида кнопки делается ссылка на XML файл с ресурсом selector. Необходимый фон для кнопок в разных состояниях необходимо предварительно загрузить в папку ресурсов [5].

Так, в разрабатываемом приложении не нажатая кнопка имеет черный контур. А при нажатии на кнопку контур становится красного цвета, показывая тем самым пользователю, какая именно из кнопок на виртуальной клавиатуры была нажата.

Также для визуального оформления макета и объектов в макете можно в файле styles.xml, находящимся в папке ресурсов прописать стили и цвета для каждого объекта. Или в среде разработки мобильных приложений можно воспользоваться инструментом для создания своих стилей или выбора и изменения уже существующих.

Расположение всех объектов на экране мобильного устройства зависит от выбранного Layout, в котором они находятся. Существует несколько видов Layout, каждый из которых имеет свои особенности. В мобильном приложении виртуальной клавиатуры для казахского дактильного языка используется наиболее распространенный и удобный Layout – RеlativeLayout, который позволяет задать наиболее точное расположение для каждого объекта относительно других объектов и самого Layout.

Активность мобильного приложения виртуальной клавиатуры для казахского дактильного языка работает следующим образом. Создается массив, в который при нажатии на кнопку с изображением добавляется переменная, содержащая соответствующую дактилему. Все элементы массива, при нажатии на кнопку с изображением записываются в текстовое поле. При нажатии на кнопку «X» из массива удаляется последний элемент, и все остальные элементы записываются в текстовое поле. Передача введенного сообщения происходит после нажатия на кнопку «SEND».

Для того чтобы передать сообщение собеседнику, необходимо воспользоваться интентом. Интент – разновидность сообщений, позволяющая связать разнородные объекты, например активности, на стадии выполнения [3]. То есть одна активность может запустить другую. Для этого она передает системе Androidинтент, Android проверяет интент на наличие ошибок. Если ошибок не обнаружено, Android запускает вторую активность и передает ей интент. В интент, кроме команды запуска активности, можно добавить дополнительные данные, которые необходимо передать второй активности, например текст сообщения [3].

Существует два вида интента – явный и неявный интент. Интент, который передается между активностями одного приложения называется явным интентом. В этом случае при создании интента необходимо явно указать ту активность, которая должна получить этот интент.

Так как все мобильные приложения состоят из активностей, то Android может передавать интент не только активностям в пределах одного приложения, но и активностям других мобильных приложений. Интент, который передается между активностями разных приложений называется неявным интентом. В этом случае Android не знает точно, какому приложению и какой активности нужно передать интент. В таком интенте вместо имени активности, которой необходимо передать интент (как бы это записывалось в явном интенте), указываются действие, которое вызываемая активность сможет выполнить и поддерживаемый тип данных.

Так как Android точно не знает, какой именно активности необходимо передать интент, то он проверяет, так называемые фильтры интентов у всех приложений, установленных на мобильном устройстве. Вначале проверяется наличие категории DEFAULT в фильтре интентов. Если в фильтре интентов нет этой категории, то активность приложения не сможет принимать неявные интенты. После этого сравнивается информация между интентом и фильтрами интентов, у мобильных приложений с категорией DEFAULT, которые активность может выполнить и о поддерживаемых типах данных. Если Android находит одно совпадение, то это приложение сразу запускается на устройстве. Если приложений, удовлетворяющих параметрам поиска несколько, то появляется список этих приложений и пользователь может выбрать то приложение, которое он хочет запустить [3].

В мобильном приложении виртуальной клавиатуры для казахского дактильного языка необходимо передавать из текстового поля данные типа image для изображений и text/plain для знаков препинания. Также необходимо, чтобы вызываемое приложение выполняло передачу сообщений, то есть выполняло действие ACTION_SEND. Поэтому при передачи неявного интентаAndroid ищет приложения с категорией DEFAULT, которые могут выполнить передачу сообщений (ACTION_SEND) и поддерживают текстовые и графические данные (image и text/plain).

В конечном результате мобильное приложение виртуальной клавиатуры для казахского дактильного языка должно работать следующим образом. При нажатии на кнопки с картинками в созданный массив добавляются элементы, содержащие изображения, соответствующие изображениям на кнопках. В текстовое поле, после каждого нажатия на кнопку с изображением помещаются все элементы массива, которые в совокупности представляют собой сообщение, состоящее издактилем казахского языка. После того, как текст сообщения готов, пользователь нажимает на кнопку “SEND», после чего формируется неявный интент. Android ищет подходящие по параметрам интента приложения и выводит их список на экран, позволяя пользователю выбрать из них то, которое ему нужно. После ввода сообщения в текстовое поле, его можно передать с помощью нажатия на кнопку “SEND» собеседнику по таким приложениям как WhatsApp, Email, Gmail, SMS/MMS и другим приложениям, в которых возможна передача сообщений. Данное приложение поможет людям с нарушением слуха, знающих казахский язык, живущим в Казахстане и других странах мира, общаться “на расстоянии» как друг с другом, так и со слышащими людьми. Так же оно может стать помощником в изучении и практическом использовании дактильного казахского языка как слышащими, так и людьми с нарушением слуха.

 

Литература

 

1.                  Теплица социальных технологий [Электронный ресурс] – Режим доступа: https://te-st.ru/ (дата обращения: 02.03.2017).

2.                  Зайцева Г.Л. Жестовая речь. Дактилология: Учеб.для студ. высш. учеб. заведений. — М.: Гуманит. изд. центр ВЛАДОС, 2000. — 192 с. — (Коррекционная педагогика).

3.                  HeadFirst. Программирование для Android. — СПб.: Питер, 2016. — 704 с.: ил. — (Серия «HeadFirstO’Reilly»).

4.                  Википедия [Электронный ресурс] – Режим доступа: https://ru.wikipedia.org/ (дата обращения: 02.03.2017).

5.                  Хабрахабр [Электронный ресурс] – Режим доступа: https://habrahabr.ru/ (дата обращения: 02.03.2017).

 

Поступила в редакцию 20.03.2017 г.

2006-2019 © Журнал научных публикаций аспирантов и докторантов.
Все материалы, размещенные на данном сайте, охраняются авторским правом. При использовании материалов сайта активная ссылка на первоисточник обязательна.