Компоненты пользовательского интерфейса Android

 

Пользовательский интерфейс используемый в рамках ОС Android, сравним с другими полнофункциональными UI-структурами, применяемыми на локальных компьютерах. Это более современный и асинхронный характер. На самом деле, UI- фреймворк Android принадлежит к четвертому поколению, если считать первое поколение традиционного прикладного программирования интерфейса Microsoft Windows, основанный на C и MFC (классов Microsoft Foundation, Microsoft библиотеки базовых классов, основанных на C ++) - второй. В этом случае, Swing UI- фреймворк, основанный на Java, будет третьим поколением, и, как было предложено в его конструктивных возможностях, намного превосходит MFC по гибкости. Android UI, JavaFX, Microsoft Silverlight и язык Mozilla XML (XUL) пользовательские интерфейсы включают новый тип UI-фреймворк четвертого поколения, который является декларативным UI и поддерживает независимую тематизацию.

При программировании в пользовательском интерфейсе Android используется объявление интерфейса в файлах XML. Тогда определение представления XML загружаются в приложение с пользовательским интерфейсом, как в Windows. Даже меню приложения загружаются из файла XML. Экраны (окна) Android часто называют деятельностью, которые включают в себя несколько типов и пользователи должны выполнить логический элемент процесса. Виды (представления) являются основными элементами, которые находятся в пользовательском интерфейсе Android. Формы могут быть объединены в группы (группы Видов). Для внутренней организации этого вида, они используют в течение длительного времени известную в программировании концепцию холста и взаимодействие пользователя с системой.

 

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

 

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

 

Основные компоненты Android

 

Фреймворк для пользовательского интерфейса Android, вместе с другими компонентами Android основан на новой сущности, называется намерение. Намерение - это сложный феномен, который сочетает в себе идеи, такие как сообщения, отображаемые в окне, действия модель "публикации и подписки", обмен межпроцессной информацией и регистрами приложений. Ниже приведен пример использования класса Intent для активации или запуска веб-браузера:

 

public static void invokeWebBrowser (Activity activity)

 

{

 

Intent intent = new Intent (Intent. ACTION_VIEW): intent. setData (Uri. parse ("http://www.google.com")); activity. startActivity (intent); }

 

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

 

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

 

public final class R {

public static final class attr { }

public static final class drawable {

public static final int myanimation=0x7f020001; public static final int numbersl9=0x7f02000e: }

public static final class id {

public static final int textViewIdl=Ox7f080003;

}

 

public static final class layout {

public static final int frame_animations_layout=0x7f030001; public static final int main=0x7f030002; }

 

public static final class string {

public static final int hello=0x7f070000;

 

}

 

}

Эти классы соответствуют автоматически сгенерированному ID или XML-файлом элемента или множества. Если нужно использовать такие определения XML, вместо того, чтобы использовать их идентификационные данные. Такое посредничество очень полезно в локализации. Еще одна инновационная концепция в Android - это контент-провайдер (поставщик контента). Поставщик контента относится к абстракции источника данных, который может быть представлен в качестве эмиттера и REST обслуживания (репрезентативная State Transfer). В основе этой базы данных лежит абстракция SQLite и делает это свойство контент-провайдеров мощным инструментом для разработки приложений. Было отмечено, что XML играет важную роль в описании пользовательских интерфейсов для Android.

 

Ниже показано, как объявить меню в XML-файле:

 

<menu xmlns: android="http://schemes. android.com/apk/res/android"> <! - B этой группе используется категория, заданная по умолчанию. - -> <group android: id="@+id/menuGroup_Main"> <item android: id="@+id/menu_clear"

 

android: orderInCategory="10"

 

android: title="clear" />

 

<item android: id="@+id/menu_show_browser"

 

android: orderInCategory="5"

 

android: title="show browser" />

 

</group>

 

</menu>

 

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

 

Android также поддерживает анимацию - эта функция включена в совместно со стеком пользовательского интерфейса, который основан на видах объектов. В Android используется анимация двух видов: с построением проме-жуточных кадров (tweening animation) и покадровая (frame-by-frame animation). Промежуточной анимацией называют картинки, которые отображаются между основными. На компьютере эти картинки создают изменения средних значений определенные промежутки времени и перерисовки фона. Кадровая анимация состоит из последовательности кадров, которые нарисованы один за другим через равные промежутки времени. На Android используются обе версии анимации, используя функцию обратного вызова анимации, интерполяторов и матрицу преобразования. Кроме того, Android может идентифицировать эти типы анимации в файле XML-ресурсов.

 

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

 

Android доступна и трехмерная графика. Это связано с тем, что введен стандарт OpenGL ES 1.0. Как и OpenGL, он основан на плоском языке API C.

 

Так как интерфейс прикладного программирования Android SDK основан на Java, OpenGL для доступа к нему должен использовать Java-связывание. В Java ME является обязательным для OpenGL ES и уже определено с помощью запроса на спецификации Java QSR 239 и для Android OpenGL ES использует тот же тип Java-связывания.

 

На Android, используются новые подходы, связанные с идеей информации на кончиках пальцев (information at your fingertips), доступ к которой осуществляется через домашнюю страницу. Первая из этих идей называется живые каталоги (живые папки). Используя живые каталоги, могут быть опубликованы коллекция элементов в папке, расположенной на главной странице сайта. Содержание этой коллекции меняется от базового изменения в его базе данных. Новые данные могут быть отправлены на устройство или со съемных носителей, или из Интернета.

 

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

 

Встроенный поиск Android (Integrated Android Search) - это третья идея, связанная с использованием домашней страницы. Этот тип поиска позволяет искать информацию как на устройстве и в Интернете. В Android эта функция не ограничивается только одним поиском и может давать команды с помощью элемента управления поиска.

 

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

 

Кроме инструментов Android SDK, есть и другие независимые инновации, которые делают процесс разработки интересной и простой. Некоторые примеры таких явлений - XML / VM, PhoneGap и титана. Titanium позволяет использовать HTML технологию в программировании для браузера на основе WebKit Android.

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

 

Компоненты дисплея и компоненты, связанные с телефонией Интерфейсы Android API предназначены для работы с аудио-, видео - и

телефонными компонентами. До версии 1.5 на Android можно было только записывать аудио, а видео - нет. Версия 1.5 дала возможность записывать аудио и видео. Это было сделано с помощью MediaRecorder. В версиях Android 2.0 и выше применяется Pico двигатель для преобразования текста в речь (TTS). Интерфейс, используемый в работе Android при преобразования текста в речь, очень проста, а также имеет соответствующий код:

 

TextToSpeech mTTS;

 

mTTS. speak (sometextString, TextToSpeech. QUEUE_ADD); mTTS. setOnUtteranceCompletedListener (this); mTTS. stop ();

 

mTTS. shutdown ();

 

mTTS. synthesizeToFile (…);

 

Еще несколько методов, относящихся к этой сфере:

 

playSilence

 

setLanguage

 

setPitch

 

setSpeechRate

 

isSpeaking

 

Важно отметить, что во всех этих концепциях Android, объединенных в единый файл XML, который определяет пакет приложений. Этот файл представляет собой файл описания (файл манифеста) (AndroidManifest. Xml). Пример этого файла:

 

<? xml version="1.0" encoding="utf-8"? >

 

<manifest xmlns: android=http://schemas. android.com/apk/res/android package="com. ai. android. HelloWorid"> android: versionCode="l"

 

android: versionName="1.0.0">

 

<application android: icon="@drawab1e/icon"

 

android: label="@string/app_name">

 

<activity android: name="HelloWorid"

 

android: label="@string/app_name">

 

<intent-filter>

 

<action android: name="android. intent. action. MAIN"

 

<category

 

android: name="android. intent. category. LAUNCHER"

 

</intent-filter>

 

</activity

 

</application>

 

<-/manifest>

 

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

 


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: