bannerbanner
Программирование для карманных компьютеров
Программирование для карманных компьютеров

Полная версия

Программирование для карманных компьютеров

Язык: Русский
Год издания: 2009
Добавлена:
Настройки чтения
Размер шрифта
Высота строк
Поля
На страницу:
2 из 6
eMbedded Visual C++ 3.0

Приложения, созданные в eVC 3.0, получают полный доступ ко всей функциональности Pocket PC 2002 и будут работать на Pocket PC 2003 и Pocket PC 2003 SE, если написаны с использованием только документированных функций API.

Приложения, написанные на eVC 3.0, выполняются гораздо быстрее, чем приложения, написанные на eVB. При помощи eVC разработчик практически не ограничен в своих возможностях. Можно создавать приложения, которые компилируются в «родной» код устройства, динамически загружаемые библиотеки и компоненты ActiveX. Среда eVC позволяет использовать легкую интеграцию с COM и WinAPI, а библиотека MFC предоставляет в распоряжение разработчика шаблоны для создания сложных приложений с функциональностью, которая в eVB была просто недоступна. Но за все надо платить, и сложные многофункциональные приложения потребуют много сил на изучение среды, языка, детального знакомства с вызовами API и внимательного отслеживания правильности использования памяти вашими программами. Это важно и для «большого» компьютера, но на Pocket PC с его ограниченными ресурсами утечки памяти могут иметь весьма плачевные последствия.

eMbedded Visual C++ 4.0 и Pocket PC 2003 SDK

Пакеты eVC 4.0 и Pocket PC 2003 SDK поставляются как два отдельных комплекта установки. При этом, если вы хотите разрабатывать полноценные приложения для Pocket PC 2003, то вам надо будет еще установить и Service Pack 2. Если же вы собираетесь использовать eVC 4.0 для разработки приложений для Pocket PC 2003 SE c поддержкой VGA-экрана разрешением в 192 dpi и возможностью поворота ориентации экрана с книжной на альбомную, то необходимо установить Service Pack 4, дополнительные образы для эмулятора и загрузить с сайта Microsoft пакеты Mobile Application Development Toolkit и Developer Resources for Windows Mobile 2003 Second Edition. Ссылки на загрузку всех дополнительных ресурсов можно найти в нижней части той же страницы на сайте Microsoft, с которой будет производиться загрузка eVC 4.0.

Все, что было сказано о eVC 3.0, остается верным и для eVC 4.0, с той лишь разницей, что разработчик получает возможность создавать полнофункциональные приложения для Pocket PC 2003 и Pocket PC 2003 SE. При этом eMbedded Visual Basic был исключен из числа инструментов разработки для Pocket PC 2003, как утверждает Microsoft, «по многочисленным просьбам трудящихся». Однако у меня есть подозрение, что просто надо было освободить место на устройстве для среды исполнения. NET CF, поэтому и была удалена библиотека run-time для Visual Basic.

Visual Studio.NET 2003

Как уже было сказано ранее, пакет разработки Visual Studio.NET 2003 нельзя загрузить с сайта компании Microsoft. Однако именно эту среду компания Microsoft в свое время позиционировала, как один из основных инструментов разработки для Pocket PC 2003. В этой среде разработчик может использовать языки Visual Basic.NET и C#. На обоих языках можно создавать приложения только для исполнения в среде. NET Compact Framework.

Работать с обоими этими языками – одно удовольствие. За счет введения общих стандартов языки стали похожи друг на друга, а также на Pacsal и Java одновременно. Visual Basic стал полностью объектно-ориентированным, что добавляет ему функциональности, а программам придает стройность и структурированность. Большинство приложений общего назначения в Visual Studio.NET 2003 удобно создавать и отлаживать. Собственно говоря, для этого Visual Studio.NET 2003 и создавалась. Если же вам надо создавать приложения, которые выполняют очень интенсивные видеооперации или ведут интенсивные расчеты, тогда вам придется выбрать eVC.

Visual Studio 2005

Этот инструмент разработчика пока находится в стадии Beta, и его можно бесплатно загрузить с сайта компании Microsoft, как и соответствующий ему SDK (Windows Mobile SDK 5.0).

Разрабатывая Visual Studio 2005, Microsoft пошла по пути комплексного решения и совместила разработку как управляемого, так и чистого кода для компактных устройств. Список возможностей Visual Studio 2005 приведен ниже.

♦ Разработка родного кода для Windows Mobile 2003, Windows Mobile 2003 Second Edition или Windows Mobile 5.0 на языке C++.

♦ Разработка управляемого кода для выполнения под управлением. NET Compact Framework 1.0 на платформах Windows Mobile 2003, Windows Mobile 2003 Second Edition или Windows Mobile 5.0 на языках C# или Visual Basic.NET.

♦ Разработка управляемого кода для выполнения под управлением. NET Compact Framework 2.0 на платформе Windows Mobile 5.0 на языках C# или Visual Basic.NET.

Таблица 1.2. Назначение и возможности инструментов разработки
Таблица 1.3. Инструменты. NET Compact Framework и их поддержка мобильными ОС

♦ Разработка управляемого кода для выполнения под управлением. NET Compact Framework 2.0 на платформе Pocket PC с операционной системой Windows Mobile 2003 на языках C# или Visual Basic.NET.

Вся эта информация в более наглядном виде показана в табл. 1.2 и 1.3.

Порядок установки

Все инструменты разработки от Microsoft вполне мирно уживаются на одном компьютере, но только при условии их правильной установки. Чтобы установить средства разработки в правильном порядке, сначала надо удалить все установленные на данный момент среды от Microsoft и перезагрузить компьютер. После этого установить инструменты разработчика в необходимом порядке.

1. Установить Microsoft ActiveSync 4.0. Все инструменты разработки для мобильных устройств требуют наличия ActiveSync 4.0 для разработки и поставки приложений.

2. Установить eMbedded Visual Tools – 2002 Edition, Pocket PC 2002 SDK и Smart-phone 2002 SDK.

3. Установить eMbedded Visual C++ 4.0 и Service Pack 4.

4. Установить Visual Studio.NET 2003.


ПРИМЕЧАНИЕ.

Устройство Pocket PC 2003 и эмулятор Pocket PC 2003 уже содержат в себе предустановленную. NET Compact Framework. На более ранние устройства надо предусматривать включение среды выполнения. NET Compact Framework в комплект поставки. При отладке устройств в среде разработки. NET Compact Framework, при необходимости, устанавливается на устройство автоматически.


5. Установить Pocket PC 2003 SDK.

6. Если вы собираетесь тестировать и отлаживать приложения с высоким разрешением и альбомной ориентацией экрана, то нужно установить эмулятор для Pocket PC 2003 Second Edition.

7. Установить Developer Resources for Windows Mobile 2003 Second Edition.

8. Установить Visual Studio 2005.

9. Установить Windows Mobile 5.0 SDK.

Глава 2

Общие вопросы программирования для Pocket PC

Поскольку большинство сред разработки, которые мы будем обсуждать в данной книге, произведены в Microsoft, не удивительно, что они используют для создания, отладки и поставки приложений одни и те же инструменты. Такими инструментами являются эмулятор устройства Pocket PC, программа для соединения мобильного устройства с настольным компьютером ActiveSync, программа для создания поставочного комплекта приложения CabWiz, программа для соединения среды разработки с эмулятором через ActiveSync, Emulator ActiveSync Connection Tool, а также набор небольших программ, помогающих при отладке приложения, объединенных в набор Windows Mobile Developer Power Toys.

Также существует некоторый набор рекомендаций по разработке и оформлению пользовательского интерфейса ваших программ. Эти правила не зависят от среды разработки. Именно они и будут обсуждаться в этой главе.

Эмулятор

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

В этом разделе речь пойдет об эмуляторе, который входит в состав Microsoft SDK for Pocket PC 2003. Следует учитывать, что другие эмуляторы могут отличаться меньшей или большей поддержкой того или иного оборудования, сервисов и библиотек операционной системы. Впрочем, то же самое можно сказать и о самих устройствах.

Описание эмулятора

После установки Microsoft Windows Pocket PC 2003 SDK эмулятор можно будет запускать как из среды eMbedded Visual C++ 4.0 (Service Pack 2), так и из среды Visual Studio.NET 2003. Однако его можно запустить и как независимое устройство и пользоваться им для самостоятельного изучения.

При установке SDK в главном меню компьютера создается соответствующая группа программ (рис. 2.1).

Рис. 2.1. Группа ярлыков Pocket PC 2003 SDK.


В этой группе можно отыскать пиктограмму Pocket PC 2003 Emulator, которая позволяет запускать эмулятор как самостоятельное устройство (рис. 2.2):

Рис. 2.2. Запущенный эмулятор Pocket PC 2003.

Ключи командной строки эмулятора

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


start "" "C: \Program Files\Common Files\Microsoft Shared\Windows CE Tools\ Platman\

bin\PBEmulator.exe" /MemorySize 64 /Fastbackground /Skin "C: \Program Files\Windows CE

Tools\wce420\POCKET PC 2003\Emulation\pocket_pc_emulator_skin.xml" /CEImage

«C: \Program Files\Windows CE Tools\wce420\POCKET PC 2003\Emulation\ PPC_2003_WWE.bin»

/VMName «POCKET PC 2003 – POCKET PC 2003 Emulator» /HostKey 165


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

♦ /Video – необязательный параметр. Он устанавливает размеры экрана в пикселах и глубину цвета в битах. Эти параметры не будут приняты во внимание, если для эмулятора будет применена обложка (skin), которая предусматривает свои собственные настройки размера и глубины цвета. Аргументы должны быть записаны в виде ширинахвысотахглубина. Ширина страницы должна быть в пределах от 80 до 1024 пикселов, высота – от 64 до 768 пикселов, глубина цвета может принимать значения 8, 16 или 32.

♦ /Ethernet – необязательный параметр. Он позволяет включать или отключать работу контроллера Ethernet в эмуляторе. С этим ключом можно использовать значения None, Shared, Virtualswitch или адрес media access control (MAC) реальной платы адаптера на стационарном компьютере. Этот способ используется, если на компьютере установлено больше одного сетевого адаптера. Эмулятор по умолчанию будет использовать первый найденный адаптер, и если нужно использовать другой адаптер, то нужно указать его MAC-адрес. Предназначение остальных значений приведено ниже.

• None – в эмуляторе недоступна сетевая карта.

• Shared – эмулятор использует ту же сетевую карту (тот же IP-адрес), что и стационарный компьютер. При этом эмулятор может посылать запросы по сети и получать информацию в ответ на эти запросы, но он не воспринимает сетевые сообщения, причиной которых является не он сам.

• Virtualswitch – эмулятор получает свой собственный IP-адрес при помощи DHCP и начинает работать как полноценный хост в сети, доступный как для исходящих, так и для входящих сетевых сообщений.

♦ /Skin – необязательный параметр. Он указывает, какую нужно использовать обложку. В качестве параметра должен быть указан файл XML, в котором описана обложка эмулятора в соответствующем стандарте.

♦ /CEImage – обязательный параметр. Он задает полное имя файла ядра эмулятора. Собственно говоря, файл ядра и есть сам эмулятор.

♦ /MemorySize – необязательный параметр. Он задает количество памяти, используемой ядром для работы. Значение указывается в мегабайтах. Оно должно быть кратно четырем и находиться в промежутке от 32 до 256 Мбайт. Для Pocket PC 2003 это значение не должно быть менее 64 Мбайт.

♦ /Fastbackground – необязательный параметр. Он задает высокий приоритет для процесса эмулятора, когда его окно не обладает фокусом ввода.

♦ /HostKey – необязательный параметр. В качестве аргумента задается десятичный код клавиши, в сочетании с которой будут срабатывать «горячие клавиши» эмулятора, нажимаемые на клавиатуре стационарного компьютера. Более подробно горячие клавиши эмулятора будут рассмотрены ниже.

♦ /VMName – необязательный параметр, который позволяет задавать текст, отображаемый на заголовке окна. Параметр представляет собой строку, которая должна быть помещена в кавычки. Если обложка эмулятора задает свой собственный текст заголовка, то этот параметр будет проигнорирован.

♦ /VMID – необязательный параметр, который позволяет задавать глобальный уникальный идентификатор (GUID) эмулятора. Используя этот параметр, разработчик может запускать одновременно несколько разных конфигураций эмулятора.

Требования к компьютеру

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

♦ Операционная система: Microsoft Windows 2000 Professional или Windows 2000 Server с установленным Service Pack 2, Microsoft Windows XP Home Edition или Windows XP Professional.

♦ Процессор Intel Pentium II или старше с частотой не менее 400 МГц.

♦ Не менее 196 Мбайт оперативной памяти.

♦ Сетевая карта или установленный Microsoft Loopback Adapter.


ВНИМАНИЕ!

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

Установка Microsoft Loopback Adapter

Компонент Microsoft Loopback Adapter предназначен для имитации наличия на компьютере сетевой платы, в то время, когда реальный физический сетевой адаптер на машине отсутствует. Процедура установки Microsoft Loopback Adapter приведена в следующем списке.

1. Открыть папку Пуск ► Настройка ► Панель управления.

2. Запустить инструмент Установка оборудования и нажать кнопку Далее.

3. Утвердительно ответить на вопрос, подключено ли устройство к компьютеру, и нажать кнопку Далее.

4. В новом диалоговом окне выбрать последний пункт из списка Добавление нового устройства.

5. Выбрать вариант Установка оборудования, выбранного из списка вручную.

6. Выбрать из списка пункт Сетевые платы и нажать кнопку Далее.

7. Выбрать значение Адаптер Microsoft замыкания на себя и нажать кнопку Далее.

После того, как устройство будет установлено, из контекстного меню пиктограммы Сетевое окружение нужно выполнить команду Свойства. После этого в открывшемся диалоговом окне следует отыскать установленный адаптер. Скорее всего, он будет обозначен как Подключение по локальной сети. В его контекстном меню тоже нужно выполнить команду Свойства. В диалогом окне свойств нового подключения нужно установить флажок Virtual PC Emulated Ethernet Switch. Этот протокол еще пригодится в дальнейшем.

Ограничения эмулятора

Конечно, эмулятор не настолько функционален, как настоящий Pocket PC. Основные ограничения эмулятора приведены в соответствующем списке.

1. Единственным протоколом, по которому эмулятор может связываться с внешними устройствами, является TCP\IP.

2. Эмулятор поддерживает только один процессор x86. Соответственно, все приложения, которые выполняются на эмуляторе, должны быть собраны для этой платформы. Это накладывает ограничения на всякого рода тонкие настройки и оптимизацию быстродействия и памяти, поскольку на реальном устройстве с процессором ARM на уровне машинных команд быстродействие будет совершенно другим. Разработчик не может использовать эмулятор для запуска никаких программ для Pocket PC, если у него нет их исходного кода.

3. Эмулятор не поддерживает контактный экран Pocket PC. Вместо этого в эмуляторе применяется мышь стационарного компьютера.

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

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

«Горячие» клавиши эмулятора

Несколько сочетаний клавиш позволяют получить быстрый доступ к функциям эмулятора.

♦ Сочетание Host + F выводит на экран диалоговое окно, позволяющее сделать существующую на стационарном компьютере папку каталогом общего пользования, который на эмуляторе будет опознаваться как карта дополнительной памяти. Наличие разделяемого каталога позволяет легко перемещать файлы между эмулятором и стационарным компьютером.

♦ Сочетание Host + P позволяет приостановить и возобновить работу эмулятора.

♦ Сочетание Host + R инициирует жесткую перезагрузку эмулятора с потерей информации и настроек.

♦ Сочетание Host + T позволяет выполнить мягкую перезагрузку эмулятора.

♦ Сочетание Host + F4 завершает работу эмулятора.


ВНИМАНИЕ!

При завершении работы с эмулятором вы можете выбрать из выпадающего списка в окне диалога завершения работы пункт Save Emulator State. В этом случае текущее состояние эмулятора, включая установленные соединения и запущенные программы, будет сохранено в специальном файле на диск. При последующем запуске эмулятора его состояние будет восстановлено. Это может значительно ускорить работу с эмулятором. Файлы состояния записываются в каталог C: \Documents and Settings\Имяпользователя\Application Data с расширением. vsv (например, {31F6C796-7FD5-43AC-A8C2-A7CDB8C00A3B}.vsv). Удаление этих файлов ведет к потере сохраненного состояния.


В приведенном выше сочетании горячих клавиш клавиша Host – это та клавиша, код которой задан ключом /HostKey командной строки эмулятора.

Список возможных кодов клавиш приведен в табл. 2.1.

Таблица 2.1. Клавиши и соответствующие им десятичные коды

Эмулятор и Platform Manager

Между эмулятором и средой разработки существует соответствующий программный слой. Эта технология обеспечивает взаимодействие среды разработки с реальным устройством или эмулятором. Этот программный слой называется Platform Manager и позволяет среде разработки установить сетевое соединение с устройством (эмулятором), загрузить на него файлы и произвести основные операции отладки на уровне приложения. Сам пакет Platform Manager и вспомогательные инструменты отладки располагаются в каталоге C: \Program Files\ Common Files\Microsoft Shared\Windows CE Tools\Platman\bin\wce420. Каждый из инструментов Platform Manager и каждая среда разработки Microsoft, предназначенная для работы с Pocket PC или Windows CE, имеет в меню команду Configure Windows CE Platform Manager…, которая позволяет настроить запуск нужного эмулятора и в интерактивном режиме отредактировать ключи командной строки.

Теперь следует перейти в папку C: \Program Files\Common Files\Microsoft Shared\ Windows СЕ Tools\Platman\bin\wce420 и запустить программу cefilevw.exe. Эта программа позволяет просматривать папки эмулятора и копировать файлы на эмулятор. Но сейчас следует обратить особое внимание не на функциональность этой программы, а на пункт меню Connection ► Configure Windows СЕ Platform Manager. После выполнения этой команды на экран будет выведено диалоговое окно (рис. 2.3).

Рис. 2.3. Выбор устройства для настройки.


В списке нужно выбрать пункт Pocket PC 2003 Emulator, после чего следует нажать кнопку Properties. На экране появится очередное окно настройки (рис. 2.4).

Рис. 2.4. Окно настройки эмулятора Pocket PC 2003.


В выпадающем списке Transport нужно выбрать значение TCP\IP Transport For Windows CE, а в списке Startup Server выбрать значение Emulator Startup Server. После нажатия на кнопку Configure, которая относится к списку Startup Server, еще одно окно настройки будет выведено на экран (рис. 2.5).

Рис. 2.5. Окно конфигурации стартовых параметров эмулятора.


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

♦ Параметр Device ► Image позволяет указать, какое ядро эмулятора будет загружено. Разработчик может использовать одно из трех стандартных ядер – Pocket PC 2003 или два ядра Pocket PC 2003 Phone Edition с разными сетевыми устройствами.

♦ Параметр Video ► Skin позволяет указать, какая обложка будет выбрана для эмулятора. На обложке для Phone Edition есть дополнительные кнопки дозвона и прекращения связи.

♦ Параметр System ► HostKey позволяет установить клавишу HostKey.

♦ Параметр Communication позволяет задать параметры связи эмулятора с внешним миром.

• Значение Ethernet позволяет установить NAT. Проблемы настройки Virtual Switch будут рассмотрены позже.

• Значение Serial Port 1 позволяет соединить первый COM-порт эмулятора с реальным портом рабочей станции или маппировать его на файл.

• Значение Serial Port 2 позволяет соединить второй COM-порт эмулятора с реальным портом рабочей станции или маппировать его на файл.

• Значение Parallel Port позволяет соединить параллельный порт эмулятора с реальным портом рабочей станции.

После настройки всех необходимых параметров нужно закрыть окно нажатием кнопки OK. В окне настройки устройства нужно нажать кнопку Test. Это приведет к запуску эмулятора с заданными параметрами, и через две-три минуты будет установлено соединение. Данный факт будет сопровождаться громким звуком, а кнопка Cancel в окне Testing Device Connection сменится кнопкой OK.

Теперь эмулятор настроен и готов к работе.

ActiveSync

ActiveSync – это инструмент, предназначенный для связи мобильного устройства (Pocket PC) с настольным компьютером (рис. 2.6).

Рис. 2.6. Окно ActiveSync.


На рисунке показана настольная часть ActiveSync. На мобильном устройстве, естественно, работает второй компонент этого приложения.

ActiveSync автоматически отслеживает наличие присоединенного к компьютеру мобильного устройства и, при наличии физического соединения, устанавливает связь и выполняет синхронизацию настольного компьютера и Pocket PC. Таким образом, основное назначение ActiveSync – это автоматизированная синхронизация различных баз данных Pocket Outlook и папок на мобильном компьютере с соответствующими базами данных и папками на настольном компьютере. Кроме этого, при помощи ActiveSynс выполняются операции, перечисленные в следующем списке.

1. Резервное архивирование данных и настроек мобильного устройства, с сохранением файла архива на настольном компьютере. Восстановление данных с настольного компьтера на мобильный.

2. Установка и удаление программ на мобильном компьютере, с ведением базы данных установленных программ на настольном компьютере.

3. Импорт и экспорт таблиц баз данных.

Таким образом, ActiveSync является очень полезной программой, и с ней могут взаимодействовать приложения, созданные для работы на мобильном компьютере. Для этого в состав SDK включены соответствующие библиотеки, заголовочные файлы и примеры. Их можно найти в папке C: \Program Files\Windows CE Tools\wce420\POCKET PC 2003\Activesync.

Но есть одна серьезная проблема. По умолчанию ActiveSync упорно не желает работать с эмулятором, как с настоящим устройством. Для того чтобы эмулятор мог установить связь и взаимодействие с ActiveSync настольного компьютера, необходимо предпринять заметные усилия по настройке.

Эмулятор и ActiveSync

Для настройки соединения эмулятора и ActiveSync на стационарном компьютере необходимо проделать последовательность действий, приведенную в следующем списке.

На страницу:
2 из 6