Предстартовая подготовка для работы с Android OS

Дата публикации:02.03.2012
Поделиться в Twitter Поделиться в F******k Поделиться в VKontakte Поделиться в Telegram Поделиться в Mastodon

Итак, попробуем разобраться в тех действиях, которые требуется совершить для запуска и первичной настройки средств доступности операционной системы Android, а также познакомимся с теми особенностями платформы, которые могут оказаться непривычными для неопытных пользователей мобильных устройств.

Авторизация пользователя

Современные тенденции развития индустрии мобильных устройств таковы, что сейчас не предполагается полноценная работа с аппаратом абсолютно анонимного пользователя, как это было возможно ещё 5-7 лет назад. Это отнюдь не означает, что подразумевается предоставление личных данных, пока речь идёт лишь о необходимости авторизации в системе удалённых сервисов, на работе с которыми завязана большая часть функционала устройства. В самом простом варианте требования ничуть не выше, чем необходимость указания E-mail для регистрации на различных сайтах.

Применительно к использованию Android OS это означает, что пользователь, для работы со многими функциями системы, должен иметь учётную запись Google. Причём это может быть как только что оформленный аккаунт, так и аккаунт, который был зарегистрирован ещё несколько лет назад, вообще до появления системы Android.

В качестве такой авторизации подойдёт учётная запись Gmail, AdSense, AdWords или любого другого сервиса Google, к тому же с марта 2012 года все они управляются единым сводом правил.

Данный аккаунт, как минимум, понадобится для работы с магазином приложений Market, а также для ряда второстепенных операций, таких как синхронизация контактов, записей календаря и других.

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

Данные аккаунта, введённые в одном месте системы, например, Market, Gmail или Youtube, автоматически сохраняются и начинают использоваться во всех остальных службах подобного рода. Особо следует отметить тот факт, что ранее введённый в систему аккаунт, с которым связаны какие-то данные устройства, например, почта, установленные приложения и так далее, не может быть штатно удалён без форматирования системы. Тем не менее, существует возможность этой операции и без форматирования, но она подразумевает получения для аппарата прав root-доступа и ручное удаление конфигурационных файлов из закрытой области файловой системы, что не является тривиальной задачей, да и не всегда допускается лицензиями производителей.

Таким образом, если предполагается использовать Android-устройство не только как телефон или мультимедийный плеер, то процедуры авторизации пользователя практически не избежать и наличие аккаунта Google будет являться обязательным условием.

Установка и настройка средств доступности

Формально разработчиками Android OS декларируется "встроенная" поддержка специальных возможностей, но фактически данное утверждение не соответствует действительности или, как минимум, требует ряда оговорок.

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

Во-вторых, в большинстве случаев, программное обеспечение для реализации accessibility-функционала изначально на устройстве отсутствует, поэтому требует загрузки из Интернета и, как следствие, предварительной настройки беспроводных сетей.

В-третьих, ввиду определённых ограничений используемых accessibility-технологий, не каждое аппаратное обеспечение, управляемое Android OS, подходит для не визуального использования.

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

Программы экранного доступа

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

Как правило, для включения голосового экранного доступа требуется в меню "Настройки" > "Спец. возможности" сначала отметить флажок "Спец. возможности", после чего Android предложит подгрузить необходимые компоненты из Market". Разумеется, к этому моменту упомянутые ранее действия по авторизации и настройке беспроводных сетей должны быть уже выполнены.

Автоматически система загружает только программу экранного доступа TalkBack. Альтернативное ПО этой категории, такое как Spielили Mobile Accessibility, пользователь должен загружать через Market самостоятельно.

Обратим внимание, что английское слово "spiel" помимо значения "болтовня, трёп", которое и подразумевалось создателем одноимённой программы экранного доступа, также имеет жаргонное значение, которое на русском звучит как "шпилить", то есть активно играть в какую-то компьютерную игру (да и немецкое Spiel - игра - тоже надо принять во внимание). Следствием этого является та ситуация, что по запросу "spiel" в Market выдаётся длинный список игровых приложений, которые содержат в своём названии это слово. Чтобы быстро найти в Market именно программу экранного доступа Spiel, рекомендуем вводить более конкретный запрос "Spiel screenreader".

Любая из установленных в системе программ экранного доступа помещает свой флажок в меню "Настройки" > "Спец. возможности" и их запуск осуществляется путём активации соответствующего флажка. При этом, система выводит диалог безопасности, где предупреждает о возможных последствиях такого действия. Чтобы всё-таки активировать флажок, в этом всплывающем окне следует подтвердить операцию путём нажатия клавиши "ОК".

Одновременная активация нескольких флажков не приводит к конфликту между программами экранного доступа, которые в целом способны работать параллельно (например, TalkBack и Spiel) или распределять приоритеты (например, Spiel и Mobile Accessibility).

Синтез речи

Если пользователю для работы достаточно поддержки тех языков, которые были перечислены выше, то данный этап адаптации Android-устройства в принципе не обязателен. Однако для синтеза речи на русском языке однозначно придётся установить дополнительные голоса, поэтому для читателей данной статьи, скорей всего, он неизбежен.

Для получения подробной информации о существующих решениях синтеза русской речи на Android OS следует обратиться к материалу Обзор русскоязычных синтезаторов речи для Android OS, в котором приведены демонстрационные записи и прочие данные по доступным вариантам. Здесь же внимание будет уделено общим вопросам функции синтеза речи платформы Android.

Параметры функции text-to-speech находятся в меню "Настройки" > "Голос. ввод и вывод" > "Настройки синтеза речи". Здесь присутствуют, как минимум, следующие пункты:

  1. Прослушать пример - кнопка, при нажатии на которую воспроизводится демонстрационная фраза системы синтеза речи, установленной по умолчанию.
  2. Только мои настройки - флажок, при активации которого, во всех программах, использующих TTS, начинают использоваться только общие настройки системы, игнорируя второстепенные директивы самой программы.
  3. Система по умолчанию - меню, где осуществляется выбор системы синтеза речи по умолчанию.
  4. Установить голос. данные - меню для дополнительных настроек выбранной TTS-системы (этот пункт предназначен для того, чтобы TTS-система в случае необходимости могла загрузить дополнительные голоса через подключение к интернет; многими системами не поддерживается).
  5. Скорость речи - меню для настройки скорости речи по пятипозиционной шкале: "Очень медленная", "Медленная", "Обычная", "Быстрая" и "Очень быстрая".
  6. Язык - меню для выбора языка из списка тех, которые поддерживаются TTS-системой, выбранной в пункте 3.
  7. PICO TTS - меню настроек встроенной TTS-службы, поддерживающей шесть вышеперечисленных языков.

При установки дополнительных систем синтеза речи, например, SVOX Classic или eSpeak for Android, в этом меню снизу появляются новые пункты.

Как минимум, каждая установленная сторонняя система синтеза речи помещает в этом меню флажок для своего включения, без активации которого она не будет доступна в разделе выбора системы синтеза речи по умолчанию. Отдельные TTS-системы также могут иметь собственное меню для дополнительных настроек, например, именно так реализована SVOX Classic, которая имеет не только флажок включения, но и второй пункт для более тонких настроек.

Таким образом, для использования сторонней службы синтеза речи следует установить её на устройство, проверить активацию соответствующего флажка и выбрать этот голосовой движок либо в настройках всей системы, либо, если второй флажок из вышеприведённого списка снят, в настройках используемой TTS-программы, например, Spiel.

Дополнительная настройка

Выполнение действий, описанных в двух предыдущих разделах статьи, в принципе уже даст озвученный интерфейс Android OS. Тем не менее, для наиболее полноценного использования существующих accessibility-технологий желательно провести дополнительную настройку системы.

Во-первых, пользователям TalkBack и Mobile Accessibility предоставляется функционал дополнительных сенсорных клавиатур, которые, в ряде случаев, обеспечивают возможность ввода текста в полях редактирования напрямую с сенсорного дисплея (под полем редактирования понимается такой элемент GUI как editbox).

Для активации этой функции следует открыть меню "Настройки" > "Язык и клавиатура", а здесь отметить либо флажок "Mobile Accessibility", либо "Клавиатура TalkBack". Кроме того, ниже располагается кнопка "Клавиатура TalkBack", по нажатию на которую открывается меню настроек соответствующей функции. Клавиатура же Mobile Accessibility настраивается через домашний экран этого приложения: "Настройки" > "Ввод текста" > "Виртуальная клавиатура".

Во-вторых, программы экранного доступа TalkBack и Spiel - это не просто "абстрактные флажки в настройках специальных возможностей". Каждая из них является полноценным приложением, конфигурируемым под нужды пользователя. Тем не менее, изначально доступ к этим настройкам невозможен.

Чтобы получить возможность изменять настройки этих программ, пользователь должен установить бесплатное приложение Accessibility Preferences. В его меню в частности могут быть пункты "TalkBack preferences" и "Spiel preferences", через которые и осуществляется доступ к настройкам соответствующих программ экранного доступа. Также здесь можно найти пункт "Keyboard shortcut preferences", который позволяет задать горячие клавиши для некоторых действий.

Интерфейс Android

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

Например, оболочка HTC Sense предлагает доступ к приложениям прямо с экрана блокировки, Timescape вызов базовых функций в любом меню через ярлыки по углам экрана, а TouchWIZ управление телефоном без движения пальцами только на основе гироскопического датчика. Даже одни и те же действия на разных оболочках могут выполняться по-разному. Например, на HTC Sense экран разблокируется перетягиванием полоски вниз экрана, на Timescape движением слева направо внизу дисплея, а на TouchWIZ перетягиванием точки из середины экрана к любому краю.

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

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

Домашний экран

Домашний экран - это нечто на подобии рабочего стола ПК, но являющееся несколько более широким понятием. В системе есть, как минимум, один домашний экран, на котором располагаются ярлыки программ и графические виджеты, а в меню дополнительные настройки. Тем не менее, Android допускает и установку сторонних домашних экранов.

Существуют домашние экраны с расширенными возможностями или специфическими функциями, например, домашний экран Eyes-Free Shell (с января 2012 в русском интерфейсе отображается как "Сенсор"), разработанный специально для незрячих пользователей.

Однако домашний экран не обязательно может являться мобильным аналогом рабочего стола, то есть простой областью для размещения ярлыков программ. Например, рабочая среда Mobile Accessibility также оформлена как отдельный домашний экран, но внутри имеет фиксированную структуру.

Если в системе установлено несколько домашних экранов, то по нажатию на клавишу Home (домой), будет выведен их список, так же этот список появляется при загрузки системы. Внизу этого списка располагается флажок "По умолчанию для этого действия", посредством которого можно задать домашний экран по умолчанию. После этого при нажатии на Home будет загружаться уже именно этот экран, так, как если бы он был единственный в системе.

Функция Поиск

Функция Поиск - это ещё одна характерная особенность интерфейса Android. Концептуально она схожа с обновлённым меню Пуск OS Windows 7, то есть пользователь вводит интересующую его информацию, а Android предлагает варианты её нахождения.

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

Например, если в качестве источников поиска указаны Интернет, приложения и контакты, то пользователь, введя некий текст, получит предложение:

Во-первых, осуществить поиск этого текста в Интернете, при согласии на что, у него откроется страница с результатами поиска Google по этому запросу.

Во-вторых, запустить те приложения, в названии которых содержится введённый текст.

В-третьих, открыть контакты, в именах которых содержится введённый текст.

Все доступные варианты выводятся в виде списка, который будет корректироваться по ходу ввода новых символов в строке поиска.

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

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

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

Прочие нюансы

С точки зрения приёмов навигации Android имеет три типа меню: двумерные, одномерные горизонтальные и одномерные вертикальные.

  1. Двумерное меню представляет собой рабочую область, по которой следует перемещаться во всех четырёх направлениях. То есть незрячему пользователю важно помнить, что командами Вверх/Вниз он может охватить не все доступные варианты.
  2. Одномерное горизонтальное меню представляет собой список пунктов, по которому следует перемещаться командами Влево/Вправо, то есть незрячий пользователь должен помнить, что если в открывшемся меню командами Вверх/Вниз перемещение не происходит, то надо также попробовать и Влево/Вправо.
  3. Одномерное вертикальное меню представляет собой наиболее привычный незрячим пользователям вариант размещения пунктов, где перемещение осуществляется командами Вверх/Вниз. Важно отметить, что в меню такого типа, пользователю также доступны дополнительные возможности.

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

  • Alt+Вверх - перейти к первому элементу списка
  • Alt+Вниз - перейти к последнему элементу списка

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

Кроме того, следует отметить, что существует два варианта команды выбора элемента: простое нажатие и нажатие с удержанием. Это относится не только к активации элемента через сенсорный дисплей, но и посредством клавиши Enter. В некоторых программах результаты этих двух действий на одном и том же элементе могут отличаться.

Покупка приложений в Market

Все программы в Market можно разделить на два типа: те, которые распространяются бесплатно, и те, которые распространяются на коммерческой основе.

В первом случае, на странице приложения в маркет сразу доступна кнопка "Загрузить", а во втором, вместо кнопки "Загрузить" присутствует кнопка с приблизительной ценой приложения, рассчитанной по текущему курсу национальной валюты пользователя к доллару США, так как все цены в Market назначены именно в USD.

Коммерческие операции с Market осуществляются через систему Google Checkout, которая принимает к оплате только банковские карты, хотя жителям США также доступен вариант оплаты через American Express. С картами типа Visa Classic или MasterCard Standart проблем возникнуть не должно. Если же имеются сомнения в отношении пригодности имеющейся карты к покупкам через Интернет, то проверить это можно путём поиска на ней специального кода - CVC (card validation code). Это отдельный набор из трёх или четырёх цифр, напечатанный на карте отдельно от её основного номера.

Вопреки бытующему мнению, даже многие зарплатные карты, типа Visa Electron или MasterCard Maestro, также подходят для Интернет-транзакций.

В ситуации, когда имеющиеся электронные средства платежей или депонирования денежных средств всё-таки не имеют поддержки платёжных операций через Интернет посредством CVC, проблема может быть решена путём оформления виртуальной карты. За подробностями пользователю следует обратиться к своему банку или электронной системе оплаты. Дальнейшее описание будет исходить из предположения, что пользователь тем или иным способом уже решил задачу получения средства, подходящего для Интернет-транзакций через Google Checkout.

Для совершения покупки в Market требуется "привязать" карту к аккаунту Google, который используется для работы на устройстве. Данная операция осуществляется на сайте http://checkout.google.com и полностью доступна незрячему пользователю, у него могут возникнуть проблемы только с прочтением номера и цифр CVC с пластиковой карты.

На главной страницы сайта следует нажать ссылку "Зарегистрироваться", далее заполнить открывшуюся форму и нажать на кнопку "Создать аккаунт", перед этим рекомендуем ознакомиться с условиями сервиса, так как нажатие вышеозначенной кнопки автоматически подтверждает их принятие.

Обратите внимание, что "номер карты" - это длинный набор цифр с её лицевой стороны, а CVC, как отмечалось выше, - это отдельный набор чисел. При этом у карт American Express CVC представляет собой четыре цифры, написанные справа на её лицевой стороне, а у карт Discover, MasterCard, Visa или Visa Electron, CVC - это последние три цифры числовой строки, напечатанной на полоске с подписью владельца на обратной стороне.

После того как карта будет привязана к аккаунту Google, пользователю станет доступна покупка приложений в Market. Для этого достаточно будет нажать в интерфейсе магазина на кнопку с ценой приложения и подтвердить транзакцию.

Google Checkout может предоставлять по электронной почте информацию обо всех совершённых через него транзакциях, что позволит дополнительно контролировать операции.

Условия Market также предусматривают возможность отменить сделку, при этом приложение удаляется с устройства, а уплаченные денежные средства возвращаются пользователю. Это может быть удобно в ситуации, когда приложение, по тем или иным причинам, чем-то не устраивает, например, обладает недостаточным уровнем доступности для программ экранного доступа. Однако операция возврата средств имеет ряд ограничений:

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

Во-вторых, возврат денежных средств возможен только в течение первых пятнадцати минут после покупки. Если с момента приобретения программы прошло более пятнадцати минут, то эта операция также будет недоступна.

Чтобы осуществить операцию возврата средств, в интерфейсе Market следует в меню выбрать пункт "Мои приложения". У всех приложений, для которых доступна эта операция, рядом с кнопкой "Запустить" будет вторая кнопка "Возместить", после активации которой появится кнопка "Удалить". Нажатие на эту кнопку удалит приложение с устройства и инициализирует обратную транзакцию.

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

Специфика реализации доступности системы

Функционал доступности системы Android для незрячих и слабовидящих пользователей реализован достаточно нестандартным способом, что накладывает определённую специфику на все приёмы работы.

Интересующиеся строгой технической стороной вопроса, могут получить более подробную информацию в материале Рекомендации по разработки приложений для платформы Android OS с учётом доступностиили напрямую в документации к Android SDK. Здесь же этот вопрос будет освещён в упрощённом виде для обычных пользователей системы, не обладающих знаниями СОП.

Главная особенность реализации функционала доступности Android для незрячих пользователей заключается в том, что здесь озвучивается не содержимое экрана, а происходящие системные события. То есть, в строгом смысле, термин "screenreader" по отношению к программам экранного доступа под Android не совсем корректен, так как они читают не экран, а события, являясь скорее eventreader'ами.

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

Теоретически, можно написать такую Android-программу, которая будет отображать на экране одну информацию, а в события доступности отправлять абсолютно другую. В таком случае, информация, произносимая программами экранного доступа в её окне, не будет иметь абсолютно ничего общего с данными на дисплее.

Событиями, обрабатывающимися программами экранного доступа, являются, например, включение/выключение экрана, установка фокуса на какой-либо элемент, смена содержимого системного фокуса, оповещение и другие.

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

Рассмотрим, например, ситуацию удаления файла.

Визуально на экране происходит следующее: появляется всплывающее окно с текстом "Вы действительно хотите удалить файл?" и две кнопки "Да" и "Нет".

С точки зрения же программы экранного доступа происходит два события доступности:

  1. Оповещение, в качестве которого выступает всплывший текст "Вы действительно хотите удалить файл?".
  2. Смена содержимого фокуса, так как в него попадает появившаяся кнопка "Да".

Не исключена ситуация, когда событие 2 перебьёт событие 1, и пользователь не услышит текст "Вы действительно хотите удалить файл?" или услышит его частично, а дальше ему произнесут "Да кнопка".

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

Однако если бы в окне была бы всего одна кнопка, например, кнопка "ОК", то этот вариант также был бы не доступен, так как изменить содержимое фокуса было бы невозможно.

Как-либо же получить данные из первого события вообще нельзя, поэтому пользователю надо будет нажать кнопку "Нет" и повторить действия, вызвавшие появления этого окна.

Всё это справедливо для Android до версии 3.2 включительно (API level 13). Начиная с Android 4.0 в системе реализовано несколько нововведений доступности, которые способны частично решить проблемы, описанные выше. В частности, доступен режим работы, в котором пользователь может как бы ощупать экран, при этом элементы под пальцем будут читаться, но не будут активированы, а для их срабатывания надо в любом месте экрана коснуться вторым пальцем. В определённой степени это способствует большей доступности экранной информации, но по-прежнему не может считаться панацеей.

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



Распространение материалов сайта означает, что распространитель принял условия лицензионного соглашения.
Идея и реализация: © Владимир Довыденков и Анатолий Камынин,  2004-2024