Карманные ПК, Операционная система PalmOS
| Категория реферата: Рефераты по информатике, программированию
| Теги реферата: химическая реферат, сочинение
| Добавил(а) на сайт: Чучанов.
Предыдущая страница реферата | 5 6 7 8 9 10 11 12 13 14 15 | Следующая страница реферата
Чтобы создать простое приложения для PalmOS 3.1 с помощью PRC-Tools, необходимо установить CygWin(2.01), PRC-Tools(), PilRc for Win32 , PalmOs
SDK 3.5 , PalmOS Emulator. Дополнительные сведения об установке можно найти
в интернете.
Простое Приложение состоит из 3 файлов - *.c, resource.h , *.rcp(файл с ресурсами),
Каждое Palm приложение имеет уникальный CreatorID, это 4 байта, например «MyAp». Палм использует CrID для того что-бы различать приложения и его файлы. Если два приложения имеют одинаковый CrID то одно из них может затереть второе при синхронизации, либо повредить файлы другого приложения. Для каждого приложения которое «выходит в мир» нужно регистрировать CreatorID на сайте Palm.com.
После компиляции и сборки мы получаем файл с расширением prc – готовое приложение для PalmOS, его можно поместить в эмулятор для тестирования (или инсталлировать в КПК через HotSync).
5 Выполнение приложений
PalmOS однозадачная ОС т.е. активным бывает только одно приложение, когда
пользователь переключатся на др. приложение то предыдущее завершает свою
работу.
Всегда работает UIAS (User Interface Application Shell) это такой процесс
(часть ядра) который сразу при старте запускает какое ни будь приложение, ждет его завершения и запускает другой, обычно первым он запускает
Launcher.
Приложения в Palm почти такие же как в Windows. Точка входа в Palm приложение – функция PilotMain. В качестве параметров к ней самый важный это код запуска - LaunchCode , т.к. Palm иногда может запустить приложение не сцелью запуска, а с целью «сообщить» что-то важное или «узнать» что-то от приложения ( например reset или синхронизация или в случае глобального поиска). SysAppLaunchCmdNormalLaunch это код обычного запуска т.е. приложение должно показать свой интерфейс.
В PalmOS есть аналог командной строки, параметры передаются при вызове приложения в PilotMain. Приложения могут запускать другие приложения с разными LaunchCode, a также можно послать всем приложениям в системе какой-то LaunchCode, чтоб они выполнили определенное действие.
[pic] на рисунке показано схема работы приложения.
После того как приложение создало свой интерфейс(FrmGotoForm), оно в
бесконечном цикле передает управление Ядру (EvtGetEvent) ожидая события
(прикосновение стилуса или нажатие кнопки или системные события). Здесь все
работает как в Windows – Если произошло событие, определить кому оно
предназначено. Например если событие произошло на форме приложения -
вызвать обработчик FormEvtHandler. При закрытии приложения поступает
событие – AppStopEvent.
6 Управление Питанием
PalmOS автоматически управляет питанием, при этом приложения ни как не
участвуют в этом. Хотя приложение может вкл/выкл дисплей, выполнить ресет, или работая с регистрами аппаратуры КПК замедлить работу КПК, тем самым
продлить жизнь батареек. Существует 3 режима питания:
Doze mode – Режим бездействия, Дисплей включен, активно какое либо
приложение, но оно ничего не выполняет. Процессор готов к работе но не
выполняет инструкций (halted). Активируется сразу после вызова EvtGetEvent.
(пользователь не прикасается стилусом экрана, и не нажимает кнопки)
Sleep mode – Режим «сна». Активируется Если Doze mode по времени
продолжается дольше установленного тайм-аута. Выключены: Дисплей, дигитайзер, главные часы, работают: контролер прерываний. Все устройства
PDA переводятся на режим экономии питания, система ждет событий от кнопок
либо от часов реального времени.
Running mode – Режим активной работы, Дисплей включен , активно какое либо приложение, процессор выполняет инструкции. Все устройства готовы к работе либо работают. Обычно это EvtGetEvent возвращает какое-то событие и приложение его обрабатывает. (пользователь работает стилусом, жмет на кнопки, или приложение выполняет работу)
В Running mode КПК находится 5%-10% от времени проведенного в Doze mode, это объясняется тем , что пользователь обычно большую часть времени изучает информацию на дисплее нежели производит действия. В активных играх это конечно не соблюдается т.к. пользователь постоянно жмет на кнопки или тычет стилусом в экран. Для того чтобы приложения не противоречили этой стратегии нужно придерживаться определенных правил. (в SDK )
7 PalmOS GUI
PalmOS это графическая операционная система обладающая средствами для для
создания практически любого GUI.
Базовые элементы GUI - это Форма (Form), Диалог, Меню, и различные элементы
такие как: кнопки, флажки, списки, поля с текстом, селекторы, таблицы, картинки.
Интерфейс обычно создается в виде словесного описания в *.rpc файле
(который компилируется PilRC.exe). В этом файле вы описываете какие формы
будет показывать приложение и какие элементы (кнопки, надписи ...) будут
отображаться на форме.
Для программистов на Win Api можно сказать проще: - для Палм приложения нужно создавать файл ресурсов со всеми диалогами, картинками и строками . Этот файл имеет почти такой-де синтаксис как и для WinApi. при создании PRC файла ресурсы линкуются в него.
Форма
Обычно Палм приложение содержит несколько Форм и одно Меню, форма может
занимать только часть экрана (т.е. диалог), двигать формы стилусом нельзя.
Интерфейс в Палм модальный, т.е. активна может быть только одна форма, для
переключения м/д форм нужно делать FrmGotoForm или FrmPopupForm.
не модальность бессмысленна на маленьком экране, вносит осложнения для пользователя и требует больших усилий со стороны ОС, следовательно и большего количества кода.
События которые происходят на форме (нажатие кнопки, ввод буквы, команда
меню выделение строки списка) приходят в процедуру – обработчик сообщений
формы ( FormEvtHandler рис) c параметром event – структура с информацией о
событии.
event->eType – тип события:
|ctlSelectEvent |Нажали на кнопку |
| |event->data.ctlEnter.contro|
| |lID – номер кнопки |
|MenuEvent |Команда из меню |
| |event->data.menu.itemID – |
| |номер команды меню |
|FrmCloseEvent |Форма закрывается |
|FrmOpenEvent | |
|PopSelectEvent |Выбрали строку в |
|LstSelectEvent |Выбрали строку в списке |
| | |
| | |
| | |
Меню
Меню а Палм существует для того чтобы снять нагрузку с Формы и убрать все
второстепенные элементы интерфейса в меню. Однако нужно помнить что, для
того чтобы добраться до меню пользователь делает 3 клика стилусом, поэтому
там обычно находятся редко употребляемые команды.
Command Shortkut – это ускоряет выполнение комманд из меню
Меню создается в файле ресурсов как и формы, а при описании формы можно
указать какое меню использует форма. Каждая строка меню представлена
текстом и командой(номер) которая будет послана приложению
[pic] - для быстрого доступа к командам из меню приложение может
использовать Command Toolbar для того чтобы вставить туда пиктограммы
наиболее частых команд
Рекомендуем скачать другие рефераты по теме: реферат на тему природа, автомобили реферат доход реферат.
Категории:
Предыдущая страница реферата | 5 6 7 8 9 10 11 12 13 14 15 | Следующая страница реферата