refera (663785), страница 6

Файл №663785 refera (Карманные ПК, Операционная система PalmOS) 6 страницаrefera (663785) страница 62016-07-31СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 6)

Свойства Database

Name

Имя (max 32)

Type

Тип – appl, hack, (как расширение файла)

CreatorID

4 байта – идентификатор создателя файла

Size

Атрибуты

ReadOnly

БД нельзя открыть на запись.

Backup

БД нужно BackUp при синхрониз.

Copy protect

БД нельзя копировать путем IR-beam, ( ? )

Launchable

Это БД с данными но она может быть запущена на выполнение.

Open

True – БД открыта

Resource DB

БД типа Resource DB,

Date

Дата Создания, Изменения, Сихронизации

Modification Num

Число изменений БД, (удаление, добавл, изм записи)

Например все приложения имеют тип “appl”. Каждое приложение имеет уникальный CreatorID, этот идентификатор выбирает разработчик для каждого своего приложения. На уникальность его можно проверить на сайте Palm Os. По CreatorID можно однозначно узнать какому приложению принадлежит база.

Например Приложение Applications по команде “Info” показывает размер приложения со всеми его базами, а также при удалении будут удалены все базы (?)

Свойиства записи (Record)

busy

Приложение открыло эту запись и заблокировало ее. Т.е. к ней нет доступа.

Delete

Запись визуально удалена ( физически удалится после синхронизации)

Dirty

Изменена после последней Синхронизации.

Secret

Запись помечена как Private (не надо ее показывать)

Далее в тексте для простоты БазуДанных в Palm будем называть файл.

Чтобы открыть файл нужно знать его LocalID и номер карты где он находится (обычно 0).

DmGetNextDatabaseByTypeCreator(номер карты, тип, номер владельца) - получить LocalID

DmFindDatabase( номер карты, имя файла) - получить LocalID

DmOpenDatabase( номер карты, LocalID) - открыть файл (handle)

DmQueryRecord(handle файла ) - получить дескриптор на запись (handle)

DmWrite( указатель , смещение, данные) - пишем данные в запись

Записывать в запись можно только с помощью специальной функции ( по соображениям безопасности) другое использование указателя на запись сразу вызывает ошибку с последующим Ресетом КПК.

4.4.Создание приложений, Инструментарий, POSE

Большинство Palm программистов обычно пишут на С (С++) ,однако существуют компиляторы для других языков: Java, Pascal, Basic, SmalTalk, Assembler.

Для Палм , есть много различных сред разработки , Самая популярные GUI IDE это CodeWarrior, так-же есть Falch.Net, VFDIDE, and PilotMAG - все эти "визуальные" среды разработки имеют редактор кода с синтаксической подсветкой кода и др. функции. (управление проектом, отладчик, ...) компилируют они с помощью PRC-Tools. стоят от 20-30$. Самая популярная некоммерческая среда это PRC-Tools (набор утилит - командная строка). Большинство разработчиков предпочитают PRC-Tools, , т.к. это бесплатно, популярно, и этот продукт поддерживается официально Palm .

Инсталляция PRC-Tools напоминает инсталляцию ФИДО на домашнем компе, - нужно установить 4 независимых софта, и правильно их настроить, что-б они вместе работали, вобщем придется повозится. Советую найти ФАК по этому делу.

В качестве напутствия для программистов можно сказать, что Палм это очень открытая платформа, как для разработчиков Софта так и для разработчиков железа. Во первых Palm Computing создала сообщество разработчиков,

Palm Alliance Program - сообщество Палм программистов, там можно получить ROM файлы практически с любой версией PalmOS. также можно получить "debug" ROMs с отладочными версиями PalmOS (для системных программистов)

На сайте palm.com всегда доступна полная документация по Палм ОС а также различные FAQ, Knowledge Base и конференции. Написано много книг и публикаций для программистов, в интернете можно найти кучу исходных тестов по различным направлениям. Также для простоты создания программ, Palm Computing создала бесплатный PalmOS Emulator (POSE) – эмулятор ОС Палм для тестирования Палм приложений на настольном компьютере.


POSE – эмулятор КПК с любой версией PalmOS (работает под Windows , Mac, Unix). Для его работы нужен только ROM файл с PalmOS, его можно “вытащить” из КПК либо скачать из интернета, что намного проще (см. ссылки). Разработчик запускает POSE и видит на мониторе настоящий КПК – можно мышкой кликать на экране КПК как стилусом (даже писать граффити), можно запускать приложения. (можно встретить еще “CoPilot“ - это тоже самое, предшественник POSE)

Преимущества POSE:

  1. Процесс загрузки приложения в POSE намного быстрее чем в реальный КПК, что намного ускоряет процесс тестирования. Не нужно каждый раз синхронизироваться.

  2. В POSE можно сохранять текущее состояние КПК, а потом к нему возвращаться.

  3. Source-Level отладка намного проще с POSE.

  4. В POSE можно делать скриншоты, и применять Gremlins – искусственный «неопытный» пользователь.

  5. С помощью POSE можно увидеть различные КПК с PalmOS разных версий с различным размером памяти, без наличия самого КПК.

Итак, POSE это MustHave для любого PalmOS программиста.

Чтобы создать простое приложения для 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).

4.5.Выполнение приложений

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

Всегда работает UIAS (User Interface Application Shell) это такой процесс (часть ядра) который сразу при старте запускает какое ни будь приложение, ждет его завершения и запускает другой, обычно первым он запускает Launcher.

Приложения в Palm почти такие же как в Windows. Точка входа в Palm приложение – функция PilotMain. В качестве параметров к ней самый важный это код запуска - LaunchCode , т.к. Palm иногда может запустить приложение не сцелью запуска, а с целью «сообщить» что-то важное или «узнать» что-то от приложения ( например reset или синхронизация или в случае глобального поиска). SysAppLaunchCmdNormalLaunch это код обычного запуска т.е. приложение должно показать свой интерфейс.

В PalmOS есть аналог командной строки, параметры передаются при вызове приложения в PilotMain. Приложения могут запускать другие приложения с разными LaunchCode, a также можно послать всем приложениям в системе какой-то LaunchCode, чтоб они выполнили определенное действие.

на рисунке показано схема работы приложения.

После того как приложение создало свой интерфейс(FrmGotoForm), оно в бесконечном цикле передает управление Ядру (EvtGetEvent) ожидая события (прикосновение стилуса или нажатие кнопки или системные события). Здесь все работает как в Windows – Если произошло событие, определить кому оно предназначено. Например если событие произошло на форме приложения - вызвать обработчик FormEvtHandler. При закрытии приложения поступает событие – AppStopEvent.

4.6.Управление Питанием

PalmOS автоматически управляет питанием, при этом приложения ни как не участвуют в этом. Хотя приложение может вкл/выкл дисплей, выполнить ресет, или работая с регистрами аппаратуры КПК замедлить работу КПК, тем самым продлить жизнь батареек. Существует 3 режима питания:

Doze mode – Режим бездействия, Дисплей включен, активно какое либо приложение, но оно ничего не выполняет. Процессор готов к работе но не выполняет инструкций (halted). Активируется сразу после вызова EvtGetEvent. (пользователь не прикасается стилусом экрана, и не нажимает кнопки)

Sleep mode – Режим «сна». Активируется Если Doze mode по времени продолжается дольше установленного тайм-аута. Выключены: Дисплей, дигитайзер, главные часы, работают: контролер прерываний. Все устройства PDA переводятся на режим экономии питания, система ждет событий от кнопок либо от часов реального времени.

Running mode – Режим активной работы, Дисплей включен , активно какое либо приложение, процессор выполняет инструкции. Все устройства готовы к работе либо работают. Обычно это EvtGetEvent возвращает какое-то событие и приложение его обрабатывает. (пользователь работает стилусом, жмет на кнопки, или приложение выполняет работу)

В Running mode КПК находится 5%-10% от времени проведенного в Doze mode, это объясняется тем , что пользователь обычно большую часть времени изучает информацию на дисплее нежели производит действия. В активных играх это конечно не соблюдается т.к. пользователь постоянно жмет на кнопки или тычет стилусом в экран. Для того чтобы приложения не противоречили этой стратегии нужно придерживаться определенных правил. (в SDK )

4.7.PalmOS GUI

P almOS это графическая операционная система обладающая средствами для для создания практически любого GUI.

Базовые элементы GUI - это Форма (Form), Диалог, Меню, и различные элементы такие как: кнопки, флажки, списки, поля с текстом, селекторы, таблицы, картинки.

Интерфейс обычно создается в виде словесного описания в *.rpc файле (который компилируется PilRC.exe). В этом файле вы описываете какие формы будет показывать приложение и какие элементы (кнопки, надписи ...) будут отображаться на форме.

Для программистов на Win Api можно сказать проще: - для Палм приложения нужно создавать файл ресурсов со всеми диалогами, картинками и строками . Этот файл имеет почти такой-де синтаксис как и для WinApi. при создании PRC файла ресурсы линкуются в него.



Форма

О бычно Палм приложение содержит несколько Форм и одно Меню, форма может занимать только часть экрана (т.е. диалог), двигать формы стилусом нельзя. Интерфейс в Палм модальный, т.е. активна может быть только одна форма, для переключения м/д форм нужно делать FrmGotoForm или FrmPopupForm.

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

События которые происходят на форме (нажатие кнопки, ввод буквы, команда меню выделение строки списка) приходят в процедуру – обработчик сообщений формы ( FormEvtHandler рис) c параметром event – структура с информацией о событии.

event->eType – тип события:

ctlSelectEvent

Нажали на кнопку

event->data.ctlEnter.controlID – номер кнопки

MenuEvent

Команда из меню

event->data.menu.itemID –

номер команды меню

FrmCloseEvent

FrmOpenEvent

Форма закрывается

PopSelectEvent

LstSelectEvent

Выбрали строку в

Выбрали строку в списке


Меню

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

Command Shortkut – это ускоряет выполнение комманд из меню

Характеристики

Тип файла
Документ
Размер
4,42 Mb
Тип материала
Учебное заведение
Неизвестно

Список файлов реферата

Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6455
Авторов
на СтудИзбе
305
Средний доход
с одного платного файла
Обучение Подробнее