Новости S40 S60 |
Телефоны S40 |
Смартфоны S60 |
Статьи и документация |
Программы для S40 S60 |
Игры для S40 S60 |
Темы для S40 S60 |
База ссылок по S40 S60 |
Написать редактору |
Для наглядности представления о взаимодействии классов в Symbian OS рассмотрим рис. 1. Два системных уровня абстракции CONE и APPARAC располагаются на уровне ядра системы Symbian OS.
Уровень Uikon содержит множество системных классов Symbian OS, а три класса представляют графический пользовательский интерфейс (GUI) - это Application (Приложение), Document (Документ) и Арр UI (Пользовательский интерфейс приложения). Три перечисленных компонента уровня Uikon представлены системными классами с одноименными названиями.
Все эти три класса уровня Uikon являются базовыми классами, над которыми надстраиваются платформы series 60. Иначе говоря, системные классы series 60 являются производными от системных классов CEikApplication, CEikDokument, CEikAppUi уровня Uikon операционной системы Symbian.
Интерфейс пользователя (UI) - это совокупность различных элементов пользовательского интерфейса приложения, а именно вкладки, диалоги, переключатели, списки, информационные окна, кнопки, флаги, то есть все то, что определяет как общий вид программы, так и дает возможность пользователю взаимодействовать с приложением.
Графический пользовательский интерфейс (GUI) - это каркас или база, на котором происходит построение как UI, так и всего приложения в целом. Например, в Windows программировании, прежде всего, необходимо создать и зарегистрировать класс Windows, реализовать обработчик и главный цикл событий. В итоге получится окно, то есть некий каркас для дальнейшего развития программы. Абсолютно тот же самый прием используется и в программировании под Symbian OS, но уже со своим индивидуальным подходом.
Более того, в Symbian OS имеется еще одно похожее название GDI (Graphic Device Interface - графический интерфейс устройства). Это системный уровень абстракции Symbian OS, который находится на уровне ядра и отвечает за связь графической системы и аппаратной части устройства. Интерфейсы UI, GUI и GDI очень похожи в своих названиях и, несомненно, связаны между собой, но это три разных составляющих одной большой системы и ни в коем случае их нельзя путать между собой.
Series 60 адаптирована на низкое разрешение экранов телефонов - это как минимум 176 х 208 пикселей. Взаимодействие с пользователем осуществляется с помощью клавиш телефона. Series 60 имеет свои системные классы под названием Avkon. В табл. ниже показана связь системных классов Symbian OS Uikon и классов series 60 Avkon.
Symbian OS - Uikon | Series 60 - Avkon | |
Application | CEikApplication | CAknApplication |
Document | CEikDocument | CAknDocument |
App Ui__ | CEikAppUi | CAknAppUi и CAknViewAppUi__ |
В series 60 (Avkon) применяются префиксы Akn для названий системных классов. Кроме этого, есть еще один дополнительный класс CAknViewAppUi, через который адаптация некоторых частей графической оболочки под телефоны series 60. Четыре перечисленных выше класса выступают каркасом, на котором базируются программы для series 60.
При создании полноценных программ под операционную систему Windows, необходимо реализовать несколько обязательных компонентов, на основе которых строится графический интерфейс пользователя (GUI). Без создания этого каркаса любая графическая составляющая программы будет просто недоступна, и максимум на что вы сможете рассчитывать, это на консольно-ориентированную программу, возвращающую вас во времена DOS. Такой вид программ уже давно не интересен пользователям, да и заменить интуитивно понятный пользовательский интерфейс командной строкой невозможно. Поэтому GUI Symbian OS состоит из каркаса классов, реализовав которые, вы получаете возможность для построения дальнейшей программы.
В Symbian OS это классы Application (Приложение), Document (Документ), Арр UI (Прикладной пользовательский интерфейс) и класс view (Вид), которые и предоставляют программисту минимальную базу для создания приложений с полноценной графической оболочкой.
Класс Application определяет основные свойства всего приложения, пре-доставляя некую стартовую площадку для начала работы всей программы в целом. Он запускает объекты и идентифицирует приложение по уникальному идентификатору (UID3). Класс Application создает новый Document приложения. В системном уровне Uikon классом Application является класс CEikApplication, а класс CAknApplication наследует возможности системного класса CEikApplication.
Класс Document содержит различные данные приложения и предоставляет эти данные приложению, создавая тем самым четко отработанную структуру для работы с данными программы. Класс Document так же создает пользовательский интерфейс приложения Арр UI. В Uikon - это системный класс CEikDokument, для Series 60 (Avkon) определен класс CAknDokument.
Созданный классом Document, класс Арр UI является абсолютно независимым и создает базовые элементы пользовательского интерфейса, то есть предоставляет минимальные элементы для создания полноценной графической оболочки приложения и обработки пользовательских команд. Так же класс Арр UI создает Арр view. В Symbian OS на уровне Uikon классом пользовательского интерфейса является CEikAppUi, а в Series 60 класс CAvkAppUi.
Класс Арр View необходим для контроля за графическим контекстом, представленным на экране телефона, делая возможным взаимодействие с данными на экране телефона. Класс Арр view в Series 60 играет роль адаптера для графической оболочки приложения и при этом дает дополнительные возможности для обработки событий, полученных с клавиш телефона.
Таким образом, изготовив каркас программы с помощью рассмотренных классов, вы создадите базовую среду для дальнейшего построения приложения, в котором необходимо будет реализовывать различные элементы пользовательского интерфейса, обработку команд, представление графики на экране, работу со звуком и видео.
С созданием каркаса программы хорошо справляются среды программирования, к примеру CodeWarrior for Symbian OS или C++ BuilderX Mobile Studio. Став более опытным программистом в вопросах, связанных с Symbian OS, вы можете создать свой шаблон приложения, описывающий GUI (Графический интерфейс пользователя), и использовать его в дальнейшем в своих программах. После создания GUI-приложения для Symbian OS, необходимо создать дополнительные классы, решающие необходимый круг задач и интегрировать их в приложение. На рис. 2 схематично изображена архитектура приложения.
При этом вы естественно можете писать программный код и в исходных файлах, составляющих каркас графической оболочки приложения, но это значительно усложнит задачу, да и сами вы в итоге обязательно запутаетесь, создавая свои классы. Поэтому лучше придерживаться модели создания программ, показанной на рис. 2, тем более что язык программирования C++ тем и хорош, что является объектно-ориентированным языком, упрощающим процесс создания программ.
Добавить в закладки: