Главная » Разработка для Android » РАЗРАБОТКА ПРИЛОЖЕНИЙ ДЛЯ РАЗЛИЧНЫХ УСТРОЙСТВ – ЧАСТЬ 4

0

РАЗРАБОТКА СЛОЖНЫХ ПОЛЬЗОВАТЕЛЬСКИХ ИНТЕРФЕЙСОВ

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

•             возможность применять единообразные настройки к множеству элементов или к целым экранам при помощи стилей и тем;

•             возможность разрабатывать и повторно использовать собственные компоненты пользовательского интерфёйса;

•             мощная платформа методов ввода;

•             возможность определять разнообразные движения пальцев пользователя по экрану;

•             движок преобразования текста в речь (text-to-speech — TTS);

•             поддержка распознавания речи.

Использование стилей и тем

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

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

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

Тема – это коллекция, состоящая из одного или более стилей. Если стиль применяемся к конкретному элементу пользовательского интерфейса, например, к элементу TextView, тему вы применяете ко всем объектам типа View, относящимся к определенной деятельности. Применение темы сразу ко всем объектам типа View упрощает создание согласованных пользовательских интерфейсов; отличным вариантом может оказаться определение цветовых схем и других настроек распространенных атрибутов представления View для всего приложения. Вы можете указать тему программным путем, вызвав метод setTheme() класса Activity. Вы также можете применить темы к определенной деятельности при помощи файла манифеста Android.

ЗНАЕТЕ ЛИ ВЫ ЧТО… __________________________________________________

Инструментарий Android SDK включает ряд встроенных тем, которые доступны в классе android.R.style. Например, класс android.R.style.Theme представляет сис­темную тему, используемую по умолчанию. Также существуют темы с черным фоном, темы с отображением и без отображения строк заголовков приложений, темы для эле­ментов управления диалоговых окон и многие другие.

Разработка пользовательских элементов View и ViewGroup

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

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

Дополнительную информацию по реализации пользовательских элементов View можно найти по адресу developer.android.com/guide/topics/ul/custom-components.html.

Использование различных методов ввода

Платформа Android представляет удобную программную клавиатуру (изображенную на рис. 21.2) для устройств, не имеющих аппаратных клавиатур. Кроме того, инструментарий Android SDK также включает мощную поддержку методов ввода текста с предикативными возможностями и загружаемые редакторы методов ввода (input method editors – IME).

Рис. 21.2. Программная клавиатура Android

Обработка движений пальцев пользователя по экрану

Вы уже знаете, как получать события нажатий. Вы также можете определять движения пальцев пользователя по экрану, например быстрые движения, перемещения и нажатия, при помощи класса GestureDetector(android.view.GestureDetector). Вы можете использовать класс GestureDetector реализовав onTouchEvent() для нужной деятельности.

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

onDown— происходит, когда пользователь в первый раз коснулся сенсорного экрана.

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

onSignleTapUp — происходит, когда пользователь убирает палец с сенсорного экрана, как часть события одиночного нажатия.

onSignleTapConfirmed — вызывается при возникновении события одиночного нажатия.

onDoubleTap — вызывается, когда возникает событие двойного нажатия.

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

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

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

onFling — вызывается после того, как пользователь нажал на экран и переместил свой палец с ускорением перед тем, как убрать палец с экрана

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

Дополнительную информацию по пакету android.gesture можно найти 110 адресу developer.android.com/resources/articles/gestures.html.

Преобразование текста в речь

Платформа Android включает TTS-движок (android.speech.tts),           который позволяет

мобильным устройствам осуществлять синтез речи. Вы можете использовать TTS-движок для того, чтобы ваше приложение «читало» текст пользователю. Эта возможность часто применяется в приложениях, использующих геолокационные (Location-Based Services, LBS) сервисы и позволяющих автоматически получать голосовую информацию о направ­лениях движения. В других приложениях эта возможность предназначена для пользователей, имеющих проблемы с чтением или со зрением.

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

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

ВНИМАНИЕ! ___________________________________________________________

Для предоставления TTS-сервисов пользователям устройство Android должно не только иметь TTS-движок (доступный в инструментарии Android SDK 1.6 и более поздних вер­сиях), но и соответствующие языковые файлы ресурсов. В некоторых случаях пользо­ватель должен установить соответствующие языковые файлы ресурсов (при условии, что на устройстве пользователя достаточно свободно пространства для размещения этих файлов) из удаленного источника. Пользователи могут выполнить эту процедуру самостоятельно, запустив приложение Settings (Настройки) и затем выбрав в меню команду Text-to-speech => Install Voice Data (Преобразование текста в речь => Уста­новка голосовых данных). Вам также понадобиться проделать эту операцию на ваших устройствах. Кроме того, приложение может проверить правильность установки голо­совых данных и загустить процесс установки, если данные не установлены или уста­новлены неправильно. Дополнительная информация — в документации по пакету android.speech.tts.

Преобразование речи в текст

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

ВНИМАНИЕ! ___________________________________________________________

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

Литература: Дэрси JI., Android за 24 часа. Программирование приложений под операционную систему Google/ ДэрсиЛ., КондерШ. — М.: Рид Групп, 2011. — 464 с. — (Профессиональные компьютерные книги). ISBN 978-5-4252-0318-2

По теме:

  • Комментарии