Щелкните, чтобы оценить и отправить отзыв
MSDN
MSDN Library

  Включение просмотра при низкой пропускной способности канала
Новинки для разработчиков приложений в Windows Mobile 6
Автор:
  • Джим Уилсон (Jim Wilson), JW Hedgehog, Inc.

Опубликовано: Февраль 2007 года

Продукты и технологии: Windows Mobile 6 Professional, Windows Mobile 6 Standard, Windows Mobile 6 Classic

При создании платформы Windows Mobile® 6 для разработчиков преследовались следующие цели: упростить разработку и развертывание бизнес-приложений, сделать более удобной сборку единого приложения, которое бы успешно работало на различных устройствах семейства Windows Mobile, и обеспечить дополнительные возможности пользователю. В этой статье описываются возможности Windows Mobile 6 и их назначение с точки зрения разработчика. В статье также уделяется внимание новым инструментам из комплекта разработчика Windows Mobile 6 SDK и даны некоторые рекомендации о том, как приступить к разработке приложений в Windows Mobile 6.

Оригинал статьи (EN).

На этой странице…

ВведениеВведение
Общие сведения о соглашениях об именах в Windows Mobile 6Общие сведения о соглашениях об именах в Windows Mobile 6
Полная совместимость с Windows Mobile 5.0Полная совместимость с Windows Mobile 5.0
Упрощение разработки приложенийУпрощение разработки приложений
ПримерыПримеры
Упрощение развертывания приложенийУпрощение развертывания приложений
Создание одного приложения для работы на многих устройствахСоздание одного приложения для работы на многих устройствах
Улучшение работы пользователейУлучшение работы пользователей
Что нужно для начала создания приложений Windows Mobile 6Что нужно для начала создания приложений Windows Mobile 6
ЗаключениеЗаключение
Дополнительная информацияДополнительная информация

Введение

Выпуск платформы Windows Mobile 6 для разработчиков прежде всего посвящен достижению следующих целей: упростить разработку и развертывание бизнес-приложений, сделать более удобной сборку единого приложения, которое бы успешно работало на различных устройствах семейства Windows Mobile, и обеспечить дополнительные возможности пользователю.

Для достижения этих целей платформа Windows Mobile 6 собрана на предыдущих версиях Windows Mobile, в особенности Windows Mobile 5.0. Платформа Windows Mobile 5.0 содержит множество расширений и инструментов, которые послужили основой для разработки приложений в Windows Mobile 6.

Если вы незнакомы с Windows Mobile 5.0 или хотели бы освежить знания об этой версии, см. Новинки для разработчиков приложений в версии Windows Mobile 5.0. Сведения о функциях и инструментах и интерфейсах API, обсуждаемые в статье «Новинки для разработчиков приложений в версии Windows Mobile 5.0», в равной мере применимы к версии Windows Mobile 6.

В этой статье описываются возможности Windows Mobile 6 и их назначение с точки зрения разработчика. В статье также уделяется внимание новым инструментам из комплекта разработчика Windows Mobile 6 SDK и даны некоторые рекомендации о том, как приступить к разработке приложений в Windows Mobile 6.

Ниже перечислены некоторые наиболее известные функции Windows Mobile 6 и комплекта Windows Mobile 6 SDK, предназначенные для разработчиков.

Упрощение процесса разработки и развертывания бизнес-приложений

  • .NET Compact Framework 2.0 с пакетом обновления 1 (SP1) и Microsoft SQL Server™ 2005 Compact Edition загружаются в ПЗУ всех устройств, работающих под управлением Windows Mobile 6, и таким образом приложения используют .NET Compact Framework 2.0 и SQL Server 2005 Compact Edition без необходимости распределять или устанавливать эти продуты на устройствах пользователя. Это экономит время и затраты на разработку приложения и в конечном итоге позволяет экономить средства.
  • Улучшенный эмулятор устройств, который обеспечивает повышенную точность за счет использования новых режимов эмуляции, включая взаимодействие между адаптером переменного тока и аккумулятором и изменения в уровне заряда аккумулятора.
  • Новая служебная программа тестирования системы глобального позиционирования (GPS), FakeGPS, позволяет тестировать доступные локальные приложения без обращения к устройствам GPS.
  • Новый эмулятор сотовых устройств, работающий в связке с эмулятором устройств, позволяет тестировать поведение приложений при различных сценариях сотовой связи, таких как входящие телефонные вызовы, входящие сообщения SMS, обрыв вызова и потеря соединения при передаче данных.

Более удобная сборка одного приложения, которое работает на нескольких устройствах

  • Улучшенный эмулятор устройств с множеством новых функций, который позволяет тестировать приложения с учетом широкого конструктивного применения без необходимости приобретения соответствующего устройства.
  • Набор интерфейсов API, полностью совместимый с семейством Windows Mobile, позволяет написать одно приложение для успешного применения с широким диапазоном устройств Windows Mobile, вне зависимости от производителя устройства или мобильного оператора.
  • В комплект разработчика Windows Mobile 6 SDK входит руководство разработчика, включающее более 100 примеров приложений. Примеры охватывают широкий круг тем, включая лучший практический опыт сборки единого приложения для работы на различных устройствах.

Улучшенная работа пользователей

  • Операционная система Windows Mobile 6 получила новый внешний вид, разработанный для повышения эффективности работы и расширения возможностей пользователя. Любые приложения, в которых используются стандартные формы Windows Mobile, такие как диалоговое окно выбора контактов, автоматически получают новый интерфейс.
  • Добавленная новая облегченная версия интерфейса API для ввода рукописных данных на планшетных ПК, WISP, позволяет включать функции ввода и распознавания рукописных данных в приложения для устройств, работающих под управлением Windows Mobile 6 Professional и Windows Mobile 6 Classic.
  • Новый интерфейс API для работы со звуковыми данными позволяет воспроизводить из приложения Windows Mobile 6 звуковые файлы различных форматов, включая MID, WMA, MP3, и WAV.

Общие сведения о соглашениях об именах в Windows Mobile 6

За годы, прошедшие со времени появления первого карманного компьютера, развитие мобильных устройств прошло долгий путь. На сегодняшний день существует множество различных типов и конструкций устройств, каждое из которых обладает своими преимуществами. Если в свое время различие между типами устройств было велико, сегодня линия, разделяющая эти устройства, становится все более размытой. Традиционные термины, такие как Pocket PC, Smartphone и Pocket PC Phone Edition, утрачивают определенность и могут порой вести к путанице. Чтобы более четко определить характеристики и отношения между устройствами, Майкрософт вносит новые соглашения об именах для всех версий операционной системы Windows Mobile 6. В таблице 1 показано соответствие между названиями операционных систем Windows Mobile 5.0 и 6.

Табл. 1. Соответствие между названиями операционных систем Windows Mobile 5.0 и Windows Mobile 6.

версии Windows Mobile 5.0 версии Windows Mobile 6
Windows Mobile 5.0 для смарт-телефонов Windows Mobile 6 Standard
Windows Mobile 5.0 для Pocket PC Phone Edition Windows Mobile 6 Professional
Windows Mobile 5.0 для Pocket PC Windows Mobile 6 Classic

В новом принципе именования отражены характеристики каждой версии с точки зрения приложений, а не типов устройств.

Если вам уже приходилось разрабатывать приложения для устройств с Windows Mobile, вы знакомы с тем единообразием, с которым имеет дело разработчик, – используются общие наборы API, инструменты и служебные программы для всего семейства. Единственным различием между устройствами является поддержка функции сенсорного экрана. Коммуникаторы Pocket PC и Pocket PC Phone Edition имеют сенсорные экраны и поэтому поддерживают функцию прямого ввода данных с экрана; смарт-телефоны не имеют сенсорного экрана и поэтому не могут поддерживать функцию прямого ввода данных.

Чтобы соответствовать этому ключевому отличию, новые комплекты Windows Mobile 6 SDK больше не нацелены на отдельные типы устройств, как это было раньше. Вместо этого SDK ориентированы на два типа устройств – с сенсорным экраном и без него. При разработке приложений для устройств с сенсорным экраном, которые прежде назывались Pocket PC или Pocket PC Phone Edition, теперь используется комплект разработчика Windows Mobile 6 Professional SDK. При разработке приложений для устройств без сенсорного экрана, которые прежде назывались смарт-телефонами, теперь используется комплект разработчика Windows Mobile 6 Standard SDK. Соответствие между SDK и устройствами Windows Mobile 6 показано в таблице 2.

Табл. 2. Соответствие между операционными системами Windows Mobile 6 и комплектами разработчика Windows Mobile 6 SDK

Операционная система Windows Mobile 6 Соответствующий комплект Windows Mobile 6 SDK
Windows Mobile 6 Standard Windows Mobile 6 Standard SDK
Windows Mobile 6 Professional Windows Mobile 6 Professional SDK
Windows Mobile 6 Classic Windows Mobile 6 Professional SDK

Обратите внимание, что для двух типов устройств, оснащенных сенсорными экранами, Windows Mobile 6 Classic и Windows Mobile 6 Professional, используется набор Windows Mobile 6 Professional SDK; в то время как для устройств Windows Mobile 6 Standard, у которых нет сенсорных экранов, используется набор Windows Mobile 6 Standard SDK.

Полная совместимость с Windows Mobile 5.0

Платформа Windows Mobile 6 обладает превосходной совместимостью с приложениями Windows Mobile 5.0. Задача обеспечения совместимости с Windows Mobile 5.0 ставилась сознательно и была тщательно протестирована в ходе разработки. Подавляющее большинство приложений Windows Mobile 5.0 работает на устройствах Windows Mobile 6 без необходимости обновления. Единственным условием для такой совместимости является поддержка приложениями интерфейсов API. Как и следует ожидать, приложения Windows Mobile 5.0, в которых используются недокументированные и неподдерживаемые API, могут вызывать проблемы совместимости, которые не возникают при работе приложений, использующих поддерживаемые API.

Полная совместимость, которую обеспечивает Windows Mobile 6 для приложений Windows Mobile 5.0, позволяет конструировать единые устройства Windows Mobile 5.0 и Windows Mobile 6 с использованием комплекта Windows Mobile 5.0 SDK или Windows Mobile 6 SDK по выбору. Эти приложения прекрасно работают под управлением Windows Mobile 5.0 и еще лучше – под Windows Mobile 6 благодаря множеству улучшений, реализованных в этой операционной системе, таких как встроенные в ПЗУ .NET Compact Framework 2.0 и SQL Server Compact Edition.

Упрощение разработки приложений

Комплекты разработчика Windows Mobile 6 SDK предоставляют инструменты и библиотеки, которые нужны для начала разработки приложений Windows Mobile 6 с помощью Microsoft Visual Studio® 2005. Комбинированное использование Visual Studio 2005 и Windows Mobile 6 SDK создает мощную платформу для разработки мобильных устройств, в то время как применение инструментов и функций, необходимых при разработке приложения Windows Mobile, стало еще проще, чем когда-либо прежде.

Инструменты

В этом разделе описываются новые инструменты, представленные в комплектах Windows Mobile 6 SDK, и их назначение в процессе разработки.

Device Emulator 2.0

Эмуляторы всегда были важной частью в процессе разработки приложений, позволяющие тестировать приложение без использования физического устройства. Чем больше тестов вы можете сделать с помощью эмулятора без необходимости использования реального устройства, тем более простой, легкой и менее затратной становится работа, которую вы можете выполнить. Device Emulator 2.0, устанавливаемый как часть Windows Mobile 6 SDK, создан на основе прежнего эмулятора Device Emulator 1.0 и обеспечивает более высокую точность имитации работы реального устройства, эмулируя множество новых состояний и свойств, тестирование которых прежде было недоступным. Как и Device Emulator 1.0, Device Emulator 2.0 является точным эмулятором ARM. В качестве точного эмулятора ARM, Device Emulator 2.0 запускает те же исполняемые файлы, что и реальное устройство. Это позволяет избавиться от необходимости отдельного управления исполняемыми файлами приложения для эмулятора и затем – для реального устройства. При использовании Device Emulator 2.0 нужен только один комплект исполняемых файлов как для эмулятора, так и реального устройства.

В процессе установки Windows Mobile 6 SDK эмулятор Device Emulator 1.0, который устанавливался вместе с Visual Studio 2005, автоматически заменяется эмулятором Device Emulator 2.0. В результате во всех проектах Visual Studio 2005 Windows Mobile будет использоваться Device Emulator 2.0, с преимуществами его новых функций и улучшений.

Повышение скорости работы

Одно из самых больших разочарований при тестировании приложения – медленная скорость его запуска и работы. Чтобы уменьшить задержку, связанную с производительностью эмулятора, Device Emulator 2.0 был в значительной мере оптимизирован. В связи с тем что каждое приложение индивидуально, трудно сказать, насколько эффективно повлияет оптимизация эмулятора на то или иное приложение, однако в целом Device Emulator 2.0 обеспечивает производительность на 40 процентов выше, чем Device Emulator 1.0.

Увеличение количества имитируемых устройств

В эмуляторе Device Emulator 2.0 добавлено множество новых конструктивных параметров устройств, что позволяет тестировать поведение приложений часто еще до того, как новейшие разработки появляются на рынке. На рис. 1 показана новая конструкция дисплея размером 320 x 320 пикселов в эмуляторе устройства. Дисплей 320 x 320 пикселов является устройством с новейшими конструктивными параметрами, доступными в Windows Mobile 6.

Рис. 1. Эмулятор устройства, имитирующий новые конструктивные параметры дисплея 320 x 320 Windows Mobile 6

В дополнение к множеству новых устройств Windows Mobile 6 в Device Emulator 2.0 по-прежнему представлен большой набор эмуляторов устройств Pocket PC 2003SE, Smartphone 2003SE, Windows Mobile 5.0 Pocket PC и Windows Mobile 5.0 Smartphone. На рис. 2 показано устройство Pocket PC 2003SE и Windows Mobile 5.0 Smartphone в эмуляторе устройства.

Рис. 2. Эмулятор устройства, имитирующий Pocket PC 2003SE и Windows Mobile 5.0 Smartphone

Независимо от того, применяется Device Emulator 2.0 для тестирования нового устройства Windows Mobile 6 или старых устройств, процесс имитации обеспечивает все новые возможности, обсуждаемые в этом разделе.

Имитация состояния электропитания

По условиям своего применения мобильные устройства значительную часть времени работают от аккумуляторов и только изредка подключаются к сети с помощью адаптера переменного тока. В случае низкого уровня заряда аккумулятора устройства приложение должно выполнить специальные действия, чтобы избежать потери данных, если батарея полностью разрядится. Эмулятор Device Emulator 2.0 поддерживает функцию имитации состояния электропитания, и теперь можно протестировать влияние на приложение изменений состояния заряда аккумулятора.

Рис. 3. Элементы управления настройкой состояния электропитания в эмуляторе устройства

Как показано на рис. 3, диалоговое окно настройки эмулятора позволяет переключать имитацию состояния питания с аккумулятора на электропитание от сети переменного тока через адаптер, устанавливая или снимая флажок Аккумулятор:. При установке питания от аккумулятора необходимо также указать уровень заряда аккумулятора в процентах. Эмулятор реагирует на эти изменения в состоянии электропитания и уровне заряда так же, как и устройство. Эмулятор отображает значки и сообщения, а также изменяет соответствующие значения событий «Состояние» и «Брокер уведомлений».

Имитация профиля телефона

Эмулятор Device Emulator 2.0 поддерживает три новых профиля телефона: гарнитура, динамик и автомобильный комплект. Как показано на рис. 4, каждый из этих профилей можно включить, установив соответствующий флажок в диалоговом окне настройки эмулятора. При установке флажков профиля эмулятор имитирует подключение гарнитуры, включение динамика или автомобильного комплекта, в том числе – увеличение соответствующих значений событий «Состояние» и «Брокер уведомлений».

Рис. 4. Элементы управления настройкой профиля в эмуляторе устройства

Эмулятор сотовой связи

Большинство современных устройств Windows Mobile поддерживают возможности телефонной и других видов беспроводной связи. Возникает множество различных ситуаций, при которых требуется взаимодействие приложения с этими возможностями связи. Например, нужно просто выключить воспроизведение музыки во время звонка или объединить большое число сложных функций, работающих более согласованно с аппаратными средствами связи. Так или иначе, разработка этих типов приложений всегда была связана с трудностями, в основном из-за сложности тестирования таких приложений.

Для решения проблемы тестирования таких приложений в комплект Windows Mobile 6 SDK включен эмулятор сотовой связи Cellular Emulator. Cellular Emulator позволяет тестировать поведение приложений в различных ситуациях сотовой связи с применением эмулятора устройства. На рис. 5 показан Cellular Emulator.

Рис. 5. Эмулятор сотовой связи Cellular Emulator позволяет тестировать поведение телефона и средств связи из эмулятора устройства

Эмулятор Cellular Emulator – это мощный инструмент для проверки поведения вашего приложения при изменении условий сотовой связи. Он позволяет проводить несложные тесты с имитацией входящих, исходящих и прерываемых вызовов, выполняемых эмулятором. Те же функции доступны при имитации сообщений SMS. Для разработчиков, которым нужно тестировать большее число включенных функций, в Cellular Emulator представлена поддержка изменения конфигурации SIM-карты и имитации пересылки вызова между сетями 2G и 3G. Все эти тесты не требуют применения физического устройства.

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

  1. Обратите внимание на номер COM-порта, отображаемый в нижнем левом углу Cellular Emulator (COM4 на рис. 5).
  2. Чтобы открыть диалоговое окно Свойства эмулятора, в меню Эмулятор устройства выберите Файл и затем щелкните Настроить…
  3. В диалоговом окне Свойства эмулятора перейдите на вкладку Периферийные устройства.
  4. Введите для значения «Serial Port 0» номер COM-порта, указанный в эмуляторе Cellular Emulator, как показано на рис. 6. Если в раскрывающемся списке отсутствует номер этого COM-порта, его можно ввести самостоятельно.
  5. Чтобы закрыть диалоговое окно Свойства эмулятора, нажмите ОК.
  6. Чтобы выполнить "теплую" перезагрузку, в меню Файл щелкните Перезагрузить и затем щелкните Теплая.

После завершения перезагрузки эмулятор отобразит доступную службу сотовой связи.

Рис. 6. Ввод номера COM-порта в Cellular Emulator, чтобы включить имитацию службы сотовой связи для эмулятора устройства

Служебная программа FakeGPS

Широко доступное недорогое оборудование GPS в сочетании с простым в использовании промежуточным драйвером GPS Intermediate Driver, включенным в Windows Mobile 5.0, обеспечивает разработчиков возможностью несложной разработки приложений для определения местоположения. В прошлом, проблема была в том, чтобы найти подходящий способ их тестирования. В Windows Mobile 6.0 эта задача решается с помощью служебной программы FakeGPS.

FakeGPS позволяет легко тестировать приложения для определения местоположения без необходимости обращения к активным устройствам или каналам GPS. Достаточно создать простой текстовый файл, содержащий список сообщений GPS NMEA, скопировать его в папку устройства \Program Files\FakeGPS\GPS и затем включить FakeGPS. Ниже приведен фрагмент примера входного файла FakeGPS.

$GPGLL,4738.0173,N,12211.1874,W,191934.767,A*21
$GPGSA,A,3,08,27,10,28,13,19,,,,,,,2.6,1.4,2.3*3E
$GPGSV,3,1,9,8,71,307,43,27,78,59,41,3,21,47,0,10,26,283,40*77
$GPGSV,3,2,9,29,13,317,0,28,37,226,37,13,32,155,36,19,37,79,42*42
$GPGSV,3,3,9,134,0,0,0*46
$GPRMC,191934.767,A,4738.0173,N,12211.1874,W,0.109623,12.14,291004,,*21
$GPGGA,191935.767,4738.0172,N,12211.1874,W,1,06,1.4,32.9,M,-17.2,M,0.0,0000*75
$GPGLL,4738.0172,N,12211.1874,W,191935.767,A*21
$GPGSA,A,3,08,27,10,28,13,19,,,,,,,2.6,1.4,2.3*3E
$GPRMC,191935.767,A,4738.0172,N,12211.1874,W,0.081611,15.81,291004,,*2A

Действуя в связке с промежуточным драйвером GPS Intermediate Driver, программа FakeGPS направляет эти сообщения из текстового файла в приложения, считывающие данные канала GPS. Поскольку служебная программа FakeGPS работает напрямую с промежуточным драйвером GPS Intermediate Driver, ее можно использовать для тестирования приложений как на реальном устройстве, так и в эмуляторе устройства без каких-либо изменений в программе. Для активации канала данных FakeGPS используйте служебную программу FakeGPS, чтобы указать входной файл, и выберите параметр «Включить», как показано на рис. 7.

Рис. 7. Настройка канала FakeGPS для тестирования приложений для определения местоположения

Диспетчер настройки безопасности

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

Диспетчер безопасности устройства запускается на вашем настольном компьютере и выполняет две важные службы. Диспетчер безопасности устройства отображает текущие параметры безопасности устройства или эмулятора, подключенного к настольному компьютеру с помощью Microsoft ActiveSync® под управлением Windows XP или центр устройств Windows Mobile под управлением Vista. Отображаемая информация включает политику безопасности устройства, список индивидуальных параметров безопасности и список сертификатов, установленных в каждом хранилище сертификатов устройства.

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

Рис. 8. Диспетчер настройки безопасности после обновления политики безопасности эмулятора

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

Примечание. Дополнительные сведения о безопасности Windows Mobile см. на веб-узле Центр разработчиков Windows Mobile или Mobile2Market. Вопросы и ответы.

Служебная программа CabSignTool

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

С помощью CabSignTool подпись CAB-файла и всех содержащихся в нем исполняемых файлов выполняется одновременно. Разработчик просто собирает исполняемые файлы и создает CAB-файл, не отвлекаясь на отдельную подпись этих файлов. Служебная программа CabSignTool разбирает содержимое CAB-файла, подписывает каждый исполняемый файл, снова собирает CAB-файл уже из подписанных версий исполняемых файлов, и затем подписывает CAB-файл. Параметры CabSignTool позволяют выбрать подпись CAB-файла и исполняемых файлов одним сертификатом или отдельными сертификатами.

Служебная программа Hopper

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

Hopper имитирует быстрое щелканье элементов приложения пользователем в произвольном порядке. Эти действия вынуждают приложение работать с большой нагрузкой и выполнять неструктурированные задачи, что может вскрыть ошибки, которые нелегко обнаружить при обычном тестировании возможностей приложения. Программа Hopper может быть использована для нагрузочного тестирования одного или нескольких приложений одновременно, внося еще большее число случайных переключений между приложениями в дополнение к произвольному порядку щелканья элементов в одном приложении. Разработчику следует всегда использовать Hopper при тестировании приложений. Такая же служебная программа применяется при тестировании устройств Windows Mobile, чтобы убедиться в стабильной работе устройства. С помощью Hopper можно проверить не только стабильность работы приложения, но также убедиться, что приложение не вносит неполадки в стабильность работы устройства.

Инструменты и классы Local Server Framework

Local Server Framework – это инструменты и классы, созданные для более простого тестирования мобильных приложений, работа которых зависит от взаимодействия с удаленными серверами. Чтобы сделать разработку приложения менее сложной, с помощью Local Server Framework можно установить виртуальную сеть и сервер, который будет получать сетевые вызовы вашего приложения и отправлять обратно результаты, которые ожидает ваша программа. С помощью хорошо управляемой локальной серверной среды можно легко выделить проблемы в мобильном приложении, которые создаются внешней сетью, или проблемы сервера среди тех, которые происходят в вашей программе.

Примеры

В комплект Windows Mobile 6 SDK входит несколько примеров, которые могут оказаться полезными. Эти примеры охватывают большинство тем, с которыми вероятнее всего сталкивается разработчик приложений Windows Mobile 6, сберегают много времени и служат в качестве средства обучения. Ниже следует несколько наиболее примечательных примеров.

UILayout

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

RingtoneManager

Этот пример демонстрирует использование нового интерфейса API для работы со звуковыми данными платформы Windows Mobile 6.

BasicRecognition, InkNotes и InkSerialization

В этих примерах показано использование облегченной версии интерфейса API для ввода и распознавания рукописных данных WISP Lite. Темы охватывают процесс распознавания рукописного текста при вводе рукописных данных, использование рукописных данных в приложении и сохранение их в файл.

GPS

Этот пример показывает порядок доступа к промежуточному драйверу GPS Intermediate Driver из управляемого приложения. Пример включает все необходимые методы создания оболочки для извлечения подробных сведений об исходном вызове из управляемого приложения.

.Среда .NET Compact Framework 2.0

В ПЗУ всех устройств Windows Mobile 6.0 реализована среда .NET Compact Framework 2.0 SP1. Это позволяет использовать все преимущества широких функциональных возможностей .NET Compact Framework 2.0 и множества улучшений по сравнению с версией .NET Compact Framework 1.0 без необходимости развертывания среды .NET Compact Framework 2.0 специально для работы с приложением. Кроме того, приложения, написанные для работы с .NET Compact Framework 1.0, будут лучше работать на устройствах Windows Mobile 6, так как приложения .NET Compact Framework 1.0 полностью совместимы с .NET Compact Framework 2.0, работают на устройствах Windows Mobile 6 и полной мере используют преимущества улучшений в .NET Compact Framework 2.0 без каких-либо изменений в программе. Множество улучшений .NET Compact Framework 2.0 касаются повышения производительности работы разработчика, обеспечивают большее соответствие полной версии .NET Framework и расширение поддержки функций устройств. В этом разделе описываются некоторые наиболее примечательные возможности .NET Compact Framework 2.0.

Улучшенные функции интерфейса пользователя

Хотя модернизация коснулась всей среды .NET Compact Framework 2.0, множество улучшений очевидно относится к функциям интерфейса пользователя.

Элементы управления Windows Forms

Элементы управления являются стандартными блоками пользовательского интерфейса приложения. Удобство работы многих приложений напрямую связано с тем, в какой мере приложение использует преимущества доступных элементов управления. Среда .NET Compact Framework 2.0 предоставляет большое число новых элементов управления; эти элементы управления помогают упростить дизайн пользовательского интерфейса приложения и сделать более удобной работу пользователя.

Элементы управления MonthCalendar и DateTimePicker

В .NET Compact Framework 2.0 представлены два новых элемента управления для отображения и ввода календарных и временных данных: MonthCalendar и DateTimePicker. Оба элемента показаны на рис. 9. Элемент управления MonthCalendar применяется, когда нужно включить в приложение календарь и сделать его постоянно отображаемым в форме. Элемент управления DateTimePicker используется при ограниченных размерах дисплея мобильного устройства; дата и время отображаются в виде элемента TextBox, но когда пользователю нужно ввести данные, элемент DateTimePicker отображает весь календарь.

Рис. 9. Элементы управления MonthCalendar и DateTimePicker

Элемент управления WebBrowser

Для приложений, которые используют широкие возможности отображения данных HTML, среда .NET Compact Framework 2.0 содержит элемент управления WebBrowser, показанный на рис. 10. Элемент WebBrowser содержит большое число событий, которые позволяют приложению отслеживать обращения пользователя к содержимому элемента WebBrowser; если необходимо, приложение может откликаться на события нестандартного взаимодействия пользователя.

Рис. 10. Элемент управления WebBrowser, отображающий мобильную страницу поиска Windows Live

Элемент управления уведомлений

Один из наиболее интересных новых элементов управления – это Notification. Элемент управления Notification позволяет отображать сообщения для пользователя без изменения текущего динамического содержимого. Notification позволяет отображать сообщения в стиле всплывающих подсказок – как отображается сообщение о низком уровне заряда аккумулятора в устройстве Windows Mobile.

Другие элементы управления

Элементы управления, упоминаемые в этом разделе, – это только начало. Среда .NET Compact Framework 2.0 содержит намного больше элементов управления, чем было здесь упомянуто, включая StatusBar, DataGrid для смарт-телефонов, особые элементы, производные от UserControl, и многие другие.

Поддержка устройств с разными конструктивными параметрами

Устройства Windows Mobile отличаются по своим техническим данным и постоянно выпускаются модели с новыми конструктивными параметрами. Чтобы убедиться, что приложение будет успешно работать на различных устройствах семейства Windows Mobile, создаваемый пользовательский интерфейс приложения должен быть применим к размерам, формам и разрешающей способности дисплеев различных устройств. Чтобы освободить разработчика от детальной обработки таких различий в устройствах, в среде .NET Compact Framework 2.0 представлено несколько новых функций, которые упрощают создание адаптируемых пользовательских интерфейсов приложений.

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

Закрепление выравнивает элемент по краю, определенному родительским элементом. Например, если вы настраиваете закрепление элемента по левому краю родительского элемента, этот элемент займет позицию по левому краю и заполнит все пространство вдоль левого края родительского элемента, как показано на рис. 11. Если конструктивные параметры устройства требуют изменения размера родительского элемента, закрепленный элемент будет автоматически выровнен по размеру левого края родительского элемента.

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

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

Рис. 12. Элемент, привязанный к левой, правой и верхней границе родительского элемента, показан на дисплее в альбомной и книжной ориентации

Иногда изменение размера или перемещение элементов управления приложения в соответствии с различными размерами дисплея устройства может оказаться неподходящим решением. Неудобства обычно возникают в тех случаях, когда приложение располагает большим количеством элементов управления, дальнейшее уменьшение размера которых может привести к ошибкам при взаимодействии с ними пользователя. В такой ситуации лучшим решением будет функция прокрутки дисплея, с помощью которой можно перейти к элементам, оказавшимся за границами экрана. При использовании .NET Compact Framework 2.0 разработчику не требуется специально вносить функции прокрутки в приложение. Во время отображения приложением информации .NET Compact Framework 2.0 автоматически определяет, все ли элементы управления видны на экране, и при необходимости добавляет полосу прокрутки в форму приложения. Среда .NET Compact Framework 2.0 также полностью обеспечивает обработку полосы прокрутки, поэтому пользователь может перемещаться к скрытым элементам без специальных средств обработки их приложением.

Устройства отличаются не только размерами, но также разрешающей способностью дисплеев. Без вычисления различных разрешающих способностей приложение, созданное с разрешением 96 точек на дюйм, окажется крошечным и сжатым на экране с разрешением 192 точки на дюйм. Для правильного отображения элементы управления должны быть масштабируемыми в соответствии с новым разрешением дисплея. При использовании среды .NET Compact Framework 2.0 проблема разных разрешений дисплеев отпадает, так как .NET Compact Framework 2.0 автоматически масштабирует все элементы управления с учетом различных разрешающих способностей, связанных как с конструктивными особенностями устройства, так и с рабочими настройками разрешения.

Взаимодействие с клавиатурой и перемещение с ее помощью

Одним из важных изменений в .NET Compact Framework 2.0 является улучшенная поддержка устройств с клавиатурами и дополнительными клавиатурами. В среде .NET Compact Framework 2.0 все элементы управления теперь получают события KeyUp, KeyDown и KeyPress, позволяющие управлять приложением с помощью индивидуальной раскладки клавиатуры. С помощью нового добавленного свойства Form.KeyPreview можно также выбирать, нужно ли события клавиатуры отправлять на отдельные элементы управления или все события клавиатуры будут отправлены в форму, содержащую элементы управления.

Среда .NET Compact Framework 2.0 также поддерживает настройку перемещения по элементам управления с помощью клавиши Tab. Это позволяет на устройствах с клавиатурой использовать для перемещения по элементам управления клавишу Tab вместо пера.

Расширенные функции работы с данными

По условиям применения большую часть времени бизнес-приложения используются для обращения к данным и их обработки. При создании бизнес-приложений очень важно предложить пользователю эффективное и простое использование классов данных. Windows Mobile 6 предоставляет разработчикам бизнес-приложений полную поддержку необходимых реляционных баз данных, включив в ПЗУ базу данных SQL Server Compact Edition. Когда SQL Server Compact Edition загружена в ПЗУ, разработчик получает преимущества мощности и производительности установленной локально реляционной базы данных без необходимости включать компоненты ее установки в развертывание приложения.

Независимо от того, работаете вы с реляционными данными, использующими класс DataSet и SQL Server Compact Edition, или с иерархическими данными, использующими классы XML, среда .NET Compact Framework 2.0 предоставляет простые в использовании, эффективные и богатые возможностями классы, применение которых сберегает усилия при программировании и в то же время улучшает производительность приложения.

Примечание. В дополнение ко многим замечательным функциям, рассматриваемым в этом разделе, см. ниже раздел «Повышение производительности и эффективности управления ресурсами», в котором обсуждается улучшение производительности при работе с классами данных.

Реляционные данные

Одним из классов реляционных данных, представленных в .NET Compact Framework 2.0, который больше всего выделяется в приложениях, является новый класс SqlCeResultSet. Класс SqlCeResultSet предоставляет возможность прямого доступа к базе данных SQL Server Compact Edition с помощью обновляемого курсора с функцией прокрутки. Вместо копирования больших томов базы данных в память, как это происходит при использовании класса DataSet, класс SqlCeResultSet работает напрямую с программой базы данных SQL Server Compact Edition и поэтому обеспечивает обновление данных прокручивание курсора без необходимости копирования данных.

Архитектура класса SqlCeResultSet способствует значительному снижению объема используемой приложением памяти по сравнению с классом DataSet. Во многих случаях применение класса SqlCeResultSet может снизить объем используемой приложением памяти на несколько мегабайт. Кроме снижения объема используемой памяти класс SqlCeResultSet является значительно более быстрым, чем класс DataSet. Производительность класса SqlCeResultSetв среднем превышает производительность DataSet на 300-500 процентов.

Работа с данными XML

Среда .NET Compact Framework 2.0 предоставляет несколько усовершенствований для работы с данными XML. Эти изменения облегчают работу с API XML и заключают в себе еще больше возможностей при совмещении с функциями, представленными в полной версии .NET Framework. Частью этих усовершенствований является добавление поддержки в среде .NET Compact Framework 2.0 языка запроса XML XPath; XPath может значительно снизить объем программирования для перемещения по данным XML и зачастую сделать такое перемещение более эффективным, чем при использовании для этого специальных API. Также был добавлен класс XmlSchema и родственные классы, которые позволяют программными средствами создавать схемы XML.

Теперь доступна одна из наиболее востребованных функций – сериализация XML. Среда .NET Compact Framework 2.0 теперь включает класс XmlSerializer и родственные классы, такие как XmlElement и XmlAttribute. Благодаря добавлению этих классов теперь можно сохранять и восстанавливать объекты приложения как данные XML.

Новый класс XmlSerializer заменил применение веб-службы сериализации XML, используемой в .NET Compact Framework 1.0. Все веб-службы сериализации и десериализации XML теперь выполняются с помощью нового класса XmlSerializer. Новый класс XmlSerializer работает в два–три раза быстрее, чем веб-служба сериализации XML, используемая в .NET Compact Framework 1.0. Благодаря XmlSerializer общее время обращения приложения .NET Compact Framework 2.0 к веб-службе теперь может быть значительно меньше, чем при том же запросе приложения .NET Compact Framework 1.0.

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

Платформа Windows Mobile 6 обеспечивает лучшую производительность, так как приложения управляются с помощью среды .NET Compact Framework 2.0, включенной в ПЗУ. Среда .NET Compact Framework 2.0 обеспечивает существенное повышение производительности по сравнению с .NET Compact Framework 1.0. Улучшение производительности виртуально влияет на все исполняемые области приложения, включая восстановление его ресурсов.

Рабочие характеристики .NET Compact Framework 2.0 прошли полное тестирование и были изменены с целью улучшения производительности. Эти усилия окупились. Хотя трудно определить, как именно повышение производительности сказывается на том или ином приложении, во многих областях .NET Compact Framework 2.0 выполняет операции примерно в полтора раза быстрее, чем .NET Compact Framework 1.0. В других областях, таких как метод отправки, независимо – виртуальный или реальный, производительность возрастает еще более значительно, в некоторых случаях – примерно в два с половиной раза по сравнению с .NET Compact Framework 1.0.

В дополнение к общему улучшению рабочих характеристик особое внимание было уделено повышению производительности классов данных. В среде .NET Compact Framework 2.0 класс DataSet загружает данные в три–четыре раза быстрее, чем в версии .NET Compact Framework 1.0. Класс XmlTextReader претерпел те же улучшения производительности и теперь может считывать содержимое файла XML почти в три раза быстрее, чем в версии .NET Compact Framework 1.0.

Кроме множества улучшений рабочих характеристик приложений среда .NET Compact Framework 2.0 также обеспечивает потрясающее повышение производительности сборщика мусора. Как правило, сборщик мусора в .NET Compact Framework 2.0 восстанавливает память более чем в семь раз быстрее, чем в версии .NET Compact Framework 1.0. Обработка и восстановление пространства для больших объектов выполнялась отдельно от других ресурсов памяти и была уже очень быстрой в .NET Compact Framework 1.0, но сборщик мусора в .NET Compact Framework 2.0 работает еще в четыре раза быстрее. В таблице 3 представлен обзор улучшений производительности среды .NET Compact Framework 2.0.

Табл. 3. Обзор улучшений производительности среды .NET Compact Framework 2.0 по сравнению с .NET Compact Framework 1.0
Задача Улучшение производительности .NET CF 2.0 по сравнению с .NET CF 1.0
Общая производительность В 1,5 раза быстрее (средн. знач.)
Метод отправки В 2,5 раза быстрее
Загрузка DataSet В 3–4 раза быстрее
Считывание XmlTextReader В 3 раза быстрее
Восстановление памяти сборщика мусора В 7 раз быстрее
Восстановление больших объектов сборщика мусора В 4 раза быстрее

Повышение производительности происходит не только потому, что приложения работают с .NET Compact Framework 2.0 вместо .NET Compact Framework 1.0. Приложения .NET Compact Framework 2.0 выполняются на устройствах Windows Mobile 6 и поэтому запускаются на 25% быстрее, чем те же приложения .NET Compact Framework 2.0, выполняемые на более ранних устройствах Windows Mobile. Время запуска на устройствах Windows Mobile 6 снижено благодаря тому, что среда .NET Compact Framework 2.0 была включена в ПЗУ устройства. В результате простого размещения .NET Compact Framework 2.0 в ПЗУ устройства скорость запуска приложений возросла на 25% по сравнению с устройствами, для которых .NET Compact Framework 2.0 загружена в оперативную память.

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

Изменение архитектуры функциональной совместимости исходного кода

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

В среде .NET Compact Framework 2.0 добавлена поддержка COM-компонентов, которая позволяет напрямую обращаться к ним управляемым приложениям. Больше нет необходимости создавать специальную библиотеку, чтобы сделать доступным объект COM, как это требовалось в версии .NET Compact Framework 1.0.

Уровень упаковки исходного кода был изменен для поддержки значительно большего числа типов данных. Большинство ограничений упаковки данных, имевших место в версии .NET Compact Framework 1.0, теперь ушло. Теперь можно передавать больше параметров напрямую из управляемого приложения в исходный код без какого-либо специального программирования; это включает классы и структуры, которые содержат встроенные типы, такие как строки и массивы. Среда .NET Compact Framework 2.0 предоставляет также настраиваемый параметр упаковки с помощью атрибута MarshalAs.

Для тех разработчиков, которым необходимо работать с исходными функциями, требующими дескриптор окна, все элементы управления .NET Compact Framework 2.0 Windows Forms представлены в свойстве Дескриптор. Свойство Дескриптор показывает дескриптор базового окна элемента управления и может быть передано методам, которые ожидают дескриптор окна.

База данных SQL Server 2005 Compact Edition

Во всех устройства Windows Mobile 6 установлена SQL Server Compact Edition – реляционная база данных производственного уровня, загруженная в ПЗУ; это относится и к карманным ПК, и к смарт-телефонам. С базой данных SQL Server Compact Edition в ПЗУ ваши приложения могут получить все преимущества локальной, полностью реляционной базы данных SQL Server Compact Edition, без необходимости включать компоненты установки базы данных в развертывание приложения. Это помогает сберечь время и средства при развертывании.

Примечание. Файлы баз данных, созданные с помощью SQL Server 2005 Mobile Edition, полностью совместимы с базой данных SQL Server 2005 Compact Edition и могут использоваться без изменений.

Широкие возможности

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

Известные возможности

SQL Server Compact Edition позволяет в полной мере применять существующие навыки работы с базой данных SQL Server, предоставляя расширенные наборы реализации SQL Server 2005 SQL. Вы можете также в полной мере использовать существующие навыки программирования баз данных, так как SQL Server Compact Edition предоставляет библиотеку ADO.NET для управляемых приложений и библиотеку OLEDB для исходных приложений, которые являются продолжением своих аналогов в SQL Server 2005.

SQL Server Compact Edition полностью интегрируется со средой SQL Server Management Studio и Visual Studio 2005. С помощью SQL Server Management Studio можно создавать новые базы данных SQL Server Compact Edition, просматривать объекты баз данных, создавать и изменять таблицы и выполнять интерактивные запросы. На рис. 13 показана среда SQL Server Management Studio с отображением списка, столбцов и индексов таблиц из базы данных SQL Server Compact Edition.

Рис. 13. Таблица базы данных SQL Server Compact Edition, столбцы и индексы таблицы, представленные в SQL Server Management Studio

Visual Studio 2005 полностью поддерживает SQL Server Compact Edition, предоставляя те же ориентированные на данные функции, которые доступны в других базах данных. С помощью Visual Studio 2005 можно добавлять базу данных SQL Server Compact Edition в проект как источник данных. При добавлении источника данных SQL Server Compact Edition приложение Visual Studio 2005 ведет себя так же, как с базой данных SQL Server 2005; создается строго типизированный производный класс DataSet, и в область источников данных Visual Studio 2005 добавляются таблицы базы данных. Как и при работе с базой данных SQL Server 2005, можно перетаскивать таблицы и столбцы из области источников данных в формы приложений. Visual Studio 2005 автоматически создает соответствующие элементы управления и код привязки данных. На рис. 14 показаны таблицы базы данных SQL Server Compact Edition, представленные в области источников данных.

Рис. 14. Таблицы из базы данных SQL Server Compact Edition в области источников данных приложения Visual Studio 2005

С помощью обозревателя сервера Visual Studio 2005 можно открыть базу данных SQL Server Compact Edition и в интерактивном режиме просматривать содержимое. Таблицы базы данных можно открыть также из обозревателя сервера для просмотра, добавления, изменения и удаления записей.

Встроенная поддержка синхронизации данных

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

Не существует какой-то одной правильной стратегии, поэтому SQL Server Compact Edition изначально поддерживает несколько различных механизмов синхронизации данных. Для приложений, где большинство изменений выполняется в мобильной копии данных (например, счетчик сбора информации), SQL Server Compact Edition предоставляет средство удаленного доступа к данным. Удаленный доступ к данным является облегченной служебной программой для синхронизации данных, которая отслеживает изменения, сделанные в базе данных устройства, и позже применяет их к производственной базе данных. Для более сложных ситуаций SQL Server Compact Edition предоставляет возможность репликации слиянием. Репликация слиянием является совместной служебной программой для синхронизации данных, которая отслеживает изменения, сделанные в обеих копиях базы данных – на устройстве и производственной. В процессе синхронизации обе копии базы данных – на устройстве и производственная – выполняют обмен журналами изменения данных, чтобы привести базы в согласованное состояние. Являясь частью процесса синхронизации, репликация слиянием проходит фазу согласования, во время которой выполняется обзор изменений на той и другой стороне, чтобы точно определить данные, которыми нужно обменяться. В фазе согласования изменений автоматически определяются все конфликтующие изменения данных, которые произошли в результате соответствующих действий. Обработка конфликтов изменений во время репликации слиянием является полностью конфигурируемой и может быть настроена. Репликация слиянием включает также некоторые дополнительные функции синхронизации данных, недоступные для удаленного доступа к данным: синхронизация данных в фоновом режиме (также называемая асинхронной репликацией) и события Progress. Функция синхронизация данных в фоновом режиме позволяет инициировать процесс репликации слиянием для выполнения в фоновом потоке. Это оставляет главный поток приложения доступным для обслуживания соответствующего интерфейса пользователя. С помощью событий Progress приложение получает регулярные обновления, включая соответствие состоянию процесса синхронизации данных, когда выполняется обмен изменениями для каждой таблицы и ход фазы согласования изменения.

И удаленный доступ к данным, и репликация слиянием выполняют процесс синхронизации данных через веб-сервер, отправляя изменения данных с помощью протокола HTTP или HTTPS. Осуществление синхронизации данных через веб-сервер предоставляет потрясающую гибкость, так как это позволяет базе данных SQL Server Compact Edition выполнять синхронизацию с производственной базой данных в любое время, когда устройство подключено к сети Интернет через высокоскоростное подключение WiFi или более медленное – по сотовой связи.

В среде приложений, где данные скорее сохраняются в индивидуальной базе данных на компьютере пользователя, а не в производственной, SQL Server Compact Edition предоставляет синхронизатор базы данных Access – SQL Server Compact Edition Access Database Synchronizer (ADS). С помощью ADS можно размещать базу данных SQL Server Compact Edition на устройстве вместе с данными из базы данных Access с компьютера пользователя. База данных SQL Server Compact Edition автоматически отслеживает изменения, сделанные в базе данных устройства. Позже, когда вы помещаете устройство в соединительный модуль, SQL Server Compact Edition использует ADS, чтобы внести изменения базы данных устройства в базу данных Access.

Защита приложений

Особенности эксплуатации мобильных устройств требуют соблюдения правил безопасности, чтобы надежно предотвратить утечку важной информации. Чтобы защитить информацию, SQL Server Compact Edition поддерживает защиту доступа к базе данных с помощью пароля и шифрование содержимого базы данных. Ввести защитный пароль и выполнить шифрование можно во время создания базы данных. Следующая инструкция SQL создает базу данных с именем SafeData.sdf на диске C, устанавливает пароль P@ssw0rd и настраивает базу данных на шифрование всех данных.

Create Database "c:\SafeData.sdf" databasepassword 'P@ssw0rd' encryption on

Все данные, сохраненные в этой базе данных, будут зашифрованы. Единственным способом для успешного обращения к содержимому этой базы данных при ее открытии будет использование правильного пароля. В следующем примере показано, как создать защитный пароль, зашифрованный файл базы данных программными средствами с помощью программы C#.

SqlCeEngine dbEngine = 
  new SqlCeEngine(@"data source=\My Documents\SafeData.sdf;password=P@ssw0rd;encrypt database=TRUE");
dbEngine.CreateDatabase();

В качестве дополнительной защиты содержимого базы данных SQL Server Compact Edition также обеспечивает безопасность обмена данными во время синхронизации с производственной базой данных с помощью удаленного доступа к данным или репликации слияния. И удаленный доступ к данным, и репликация слиянием поддерживают протокол HTTPS для шифрования данных журнала изменений во время обмена данными по сети Интернет с таблицами базы данных.

Приложения AJAX

В Windows Mobile 6 входит обновленная версия Microsoft Internet Explorer® Mobile, которая включает поддержку XML DOM и JavaScript, что необходимо для работы приложений AJAX. Это позволяет применять навыки работы с ASP.NET, XML и JavaScript для создания приложений с широкими возможностями на основе обозревателей, которые работают в устройствах Windows Mobile 6.

Примечание. Комплект разработчика Windows Mobile 6 SDK Refresh, выпуск которого намечен на 1 мая 2007 года, включает образы эмуляторов Windows Mobile 6 с поддержкой базовых приложений AJAX.

Упрощение развертывания приложений

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

Уменьшение количества устанавливаемого ПО

С помощью Windows Mobile 6 упрощается развертывание как управляемых, так и исходных приложений, за счет включения среды .NET Compact Framework 2.0 SP1 и базы данных SQL Server 2005 Compact Edition в ПЗУ всех устройств Windows Mobile 6. Наличие в ПЗУ .NET Compact Framework 2.0 SP1 и SQL Server Compact Edition значительно упрощает развертывание приложений и уменьшает объем поддержки, которую необходимо предоставить пользователю для успешной установки вашего приложения.

Преимущества установки .NET Compact Framework 2.0 SP1 и SQL Server Compact Edition в ПЗУ устройств многочисленны. У вас есть строго определенная платформа, и это гарантирует, что все основные компоненты ПО уже имеются и всегда правильно установлены. Общий размер установочного пакета вашего приложения становится небольшим, так как он содержит только компоненты приложения. Небольшой размер установочного пакета обеспечивает малое время загрузки и процесса установки, и это упрощает распространение приложения и его обновлений. Малое время загрузки и процесса установки также положительно сказывается на обслуживании пользователя.

В дополнение к улучшенному обслуживанию пользователя, развертывания и поддержки, наличие установленной в ПЗУ устройств среды .NET Compact Framework 2.0 SP1 и базы данных SQL Server Compact Edition также обеспечивает лучшую работу окружения для вашего приложения. Установленные в ПЗУ устройства среда .NET Compact Framework 2.0 SP1 и база данных SQL Server Compact Edition не занимают ресурсы оперативной памяти. Чем меньше ПО установлено в оперативную память, тем больше ее ресурсов может использовать приложение для сохранения данных.

Поддержка развертывания с использованием адреса URL

С добавлением базовой поддержки AJAX в приложение Internet Explorer Mobile платформы Windows Mobile 6 появляются новые возможности для развертывания приложений. Для сценариев приложений, где подходит решение на базе AJAX, можно выполнять развертывание просто с помощью отправки электронных сообщений на соответствующий адрес URL. После получения адреса URL пользователь просто перейдет на него с помощью Internet Explorer Mobile. Никакое дополнительное ПО устанавливать на устройство не требуется, так как Internet Explorer Mobile включает все необходимое, чтобы запустить ваши программы на базе AJAX.

Упрощенный процесс подписи кода

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

Создание одного приложения для работы на многих устройствах

Гибкость и многообразные возможности программируемых устройств Windows Mobile ведет к тому, что все больше людей применяют их для различных целей. При столь широком применении не может существовать какой-то одной конструкции устройства, которая подходит для всех. Чтобы удовлетворить столь широкие потребности пользователей, устройства Windows Mobile доступны в большом ассортименте конструктивных характеристик. В таблице 4 показаны некоторые распространенные конструкции устройств Windows Mobile.

Табл. 4. Распространенные конструкции устройств Windows Mobile
Размеры Разрешение Сенсорный экран
176x220 96 точек на дюйм Нет
240x320 131 точек на дюйм Нет
320x240 131 точек на дюйм Нет
320x320* 128 точек на дюйм Да
240x320 / 320x240 96 точек на дюйм Да
480x640/640x480 192 точек на дюйм Да
240x240 96 точек на дюйм Да
480x480 192 точек на дюйм Да

* Новинка в Windows Mobile 6

С учетом такого широкого выбора доступных устройств вы должны создавать свои приложения адаптируемыми к разным конструктивным параметрам. Следует помнить, что список конструктивных характеристик, поддерживаемых устройствами Windows Mobile, постоянно растет. Windows Mobile 6 включает множество новых функций и ресурсов, целью которых является снижение усилий, которые нужно затрачивать на создание приложений, легко адаптируемых к различным конструктивным параметрам. Вы обнаружите, что с помощью Windows Mobile 6 создание одного приложения, которое обладает преимуществом специальной совместимости с любым устройством и в то же время успешно применяется в широком диапазоне устройств с разными конструктивными характеристиками, стало легче, чем прежде.

Примечание. Конструкция дисплея 320x320 вносит новый стандарт разрешающей способности и области отображения и несколько отличается от прежних конструкций. Убедитесь, что вы включили новый конструктивный параметр в тестирование приложения; иначе это отличие от других конструктивных параметров может вызвать проблемы на устройствах с таким конструктивным параметром.

Следуйте лучшему опыту по обеспечению безопасности

Оригинальные карманные ПК Windows Mobile включали очень мало возможностей для защиты устройства. После того как платформа сформировалась, она стала более защищенной. Улучшение безопасности платформы Windows Mobile относится к тем тенденциям, которые, похоже, будут продолжаться. Есть два момента из лучшего опыта обеспечения безопасности, которые вы уже сейчас должны учитывать при разработке приложений, чтобы минимизировать проблемы совместимости с будущими версиями Windows Mobile.

  • Ваше приложение должно вести запись только в папку, в которой находятся исполняемые приложения, или в папку «Мои документы». По некоторым соображениям, в будущем для записи в другие папки потребуются специальные права.
  • При записи в реестр используйте только раздел HKEY_CURRENT_USER. По некоторым соображениям для записи в другие области реестра, как и для записи в системные файлы, в будущем могут потребоваться специальные права.

Совместимый набор API для всех устройств

Все устройства Windows Mobile содержат унифицированный набор API. Это критический фактор, который позволяет создавать одно исполняемое приложение, работающее на всех устройствах Windows Mobile. Win32® API и .NET Compact Framework 2.0 являются полными и совместимыми наборами для всех устройств Windows Mobile. Унифицированный набор API освобождает вас от необходимости распределять разные исполняемые файлы и управлять ими для разных типов устройств.

Единственной областью, где требуется специальное решение, является дисплей устройства; этому уделяется внимание в остальной части данного раздела.

Имитация устройства

Эмулятор устройства является одним из самых важных инструментов, который имеется для разработки приложений, успешно работающих на устройствах с различными конструктивными параметрами. С помощью эмулятора устройства вы можете тестировать приложение для множества различных устройств без необходимости доступа к физическим устройствам с такими же конструктивными параметрами. Visual Studio 2005 и Windows Mobile 6 SDK предлагают набор из более 25 образов эмуляторов, позволяющих проводить полное тестирование поведения приложений для широкого диапазона конструктивных параметров устройств. См. на рис. 15 примеры большого числа конструктивных параметров устройств, которые поддерживает эмулятор.

Рис. 15. Несколько примеров конструктивных параметров эмулятора устройства

Поддержка периода разработки в Visual Studio 2005

Конструктор форм Visual Studio 2005 обеспечивает быстрый, легкий в использовании механизм сборки пользовательского интерфейса приложения. С помощью этого конструктора вы можете создавать и изменять внешний вид формы и немедленно видеть результат. Этот сберегающий время разработки режим WYSIWYG не ограничивается в применении приложениями со статическими пользовательскими интерфейсами. Конструктор форм Visual Studio 2005 учитывает конструктивные параметры устройств и поэтому позволяет просматривать внешний вид форм приложений с учетом их особенностей. Эта функция позволяет сэкономить много времени, потому что избавляет от необходимости отдельно запускать ваше приложение для разных конструктивов, чтобы увидеть результат.

Чтобы увидеть, как ваша форма изменяется при переходе от книжной к альбомной ориентации, можно щелкнуть форму правой кнопкой и повернуть ее на 90 градусов вправо или влево. Чтобы вернуться к книжной ориентации, можно снова щелкнуть форму. На рис. 16 показана форма в конструкторе Visual Studio 2005 после изменения книжной ориентации на альбомную.

Рис. 16. Использование конструктора Visual Studio 2005 для отображения изменений макета формы при смене книжной ориентации на альбомную

Для изменения размеров и разрешения дисплея, для которого ведется разработка, в Visual Studio 2005 имеется свойство Form Factor.

Когда вы выбираете новое значение свойства Form Factor, конструктор формы Visual Studio 2005 отображает вашу форму с учетом выбранных конструктивных параметров. На рис. 17 показана форма с рис. 16, когда в качестве значения свойства Form Factor выбрано значение «Windows Mobile 6 Professional Square». Обратите внимание на добавленную полосу прокрутки, с помощью которой можно перейти к элементам управления внизу формы.

Рис. 17. Представление формы с рис. 16 в конструкторе Visual Studio 2005 для квадратного экрана

Среда и поддержка API

Поддержка различий в конструктивных параметрах устройств – это существенная принцип платформы разработки Windows Mobile. С этой целью в классы и исполняющая среда .NET Compact Framework 2.0 представляют встроенную поддержку изменений конструктива устройств. Подобным же образом у разработчов «неуправляемых» приложений имеется несколько API, чтобы обеспечить такую же поддержку.

Управляемые приложения

Для управляемых приложений в .NET Compact Framework 2.0 добавлено несколько новых функций, которые при выполнении могут автоматически настраивать размер и расположение элементов управления. К ним относятся: элементы управления закрепления и привязки, автоматическое прокручивание и масштабирование. Закрепленный элемент управления занимает позицию по границе родительского элемента и заполняет все пространство вдоль этой границы. Реагируя на различия в размерах дисплея, элемент управления автоматически подстраивает свой размер таким образом, чтобы всегда заполнять всю границу родительского элемента. См. пример закрепления элемента управления на рис. 11 ранее в этой статье.

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

Среда .NET Compact Framework 2.0 создает автоматическую прокрутку и масштабирование с помощью свойств AutoScroll и AutoScaleMode в элементе управления Form. Когда для свойства формы AutoScroll установлено значение «истина», в форму автоматически добавляется полоса прокрутки, если в результате изменений размеров дисплея некоторые элементы управления оказываются за границами экрана. Различия в конструктивных параметрах устройств не ограничиваются вариантами размеров; устройства могут также иметь различную разрешающую способность дисплеев. В результате различия в разрешениях устройств элементы управления формы приложения могут отображаться или слишком маленькими, или слишком большими. Если вместо свойства формы AutoScaleMode установить свойство AutoScaleMode.Dpi, элементы управления формы автоматически изменят размер таким образом, чтобы соответствовать различным разрешениям дисплея.

Исходные приложения

Хотя это не актуально для платформы Windows Mobile 6, в языке программирования Microsoft C++ представлено больше двадцати функций и макросов для решения обычных задач, связанных с адаптированием приложений к различным дисплеям устройств. Их можно найти в заголовке DeviceResolutionAware.h, размещенном в папке %Program Files%\Microsoft Visual Studio 8\ VC\ce\atlmfc\include. В таблице 5 показано несколько таких функций и макросов.

Табл. 5. Примеры функций и макросов, с помощью которых можно адаптировать приложение к различным дисплеям устройств
Функция или макрос Описание
GetDisplayMode Возвращение значения, определяющего, какую ориентацию задать для текущего дисплея: книжную, альбомную или квадрат.
SCALEX, SCALEY, SCALERECT, SCALEPT Настройка значения, необходимого для текущего разрешения дисплея.
StretchIcon Настройка размера значка под текущую область отображения.
RelayoutDialog Копирование данных из одного диалогового окна в другое; это полезно, когда нужно изменить ориентацию дисплея устройства во время отображения диалогового окна. Это позволяет приложению отображать другое диалоговое окно с теми же элементами управления, как в исходном окне, но эта функция больше нужна для настройки размера для текущего разрешения.
FixupDialogItem Решение обычных проблем, связанных с изменением в приложении размера диалогового окна; например, прокрутка выбора элемента управления ListBox или ComboBox для просмотра, если они оказались вне области отображения.

Ресурсы поддержки

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

Ресурсы для разработчиков управляемых приложений

Для разработчиков управляемых приложений группа шаблонов и практических рекомендаций Майкрософт представляет фабрику программ Mobile Client. Фабрика программ Mobile Clienty – это сочетание лучшего практического опыта, исходных кодов, компонентов и примеров, относящихся к большинству общих ситуаций, с которыми сталкиваются мобильные разработчики. Специально для решения задач, связанных с различием конструктивных параметров устройств, фабрика программ Mobile Client представляет средство OrientationAwareControl. OrientationAwareControl работает с Visual Studio 2005, чтобы дать возможность в графическом режиме компоновать элемент управления, содержащий один или несколько дочерних элементов управления; определяя компоновку элемента, вы в то же время определяете отдельную компоновку для каждого особого конструктивного параметра.

С помощью OrientationAwareControl сначала определяется компоновка элемента управления, как он будет выглядеть с учетом одного конструктивного параметра. Затем в Visual Studio 2005 меняется конструктивный параметр, чтобы просмотреть, как будет выглядеть элемент управления при отображении с использованием нового конструктивного параметра. Если внешний вид элемента управления, представленный в новом конструктивном параметре, вас не устраивает, можно скорректировать компоновку для нового конструктивного параметра, не затрагивая компоновку элемента управления для оригинального конструктивного параметра. Элемент управления сохраняет данные об отдельной компоновке для каждого конструктивного параметра и использования его в рабочем порядке. При запуске приложения средство OrientationAwareControl применяет соответствующую компоновку к текущему конструктивному параметру. Например, если приложение выполняется на устройстве с размером дисплея 240x320 и разрешением 96 тчк/дюйм и используется книжная ориентация, средство OrientationAwareControl использует компоновку, которую вы определили для дисплея с размером экрана 240x320, разрешением 96 тчк/дюйм и книжной ориентации. Если пользователь включает в устройстве альбомную ориентацию, средство OrientationAwareControl отображает компоновку, которую вы определили для дисплея с размером экрана 320x240, разрешением 96 тчк/дюйм и альбомной ориентации. OrientationAwareControl точно так же работает при изменении разрешения и размера дисплея.

Еще одним основным ресурсом для разработчиков управляемых приложений является Набор ускорителя бизнес-решений для мобильных устройств. Этот набор предоставляет разработчикам приложений для бизнес-устройств демонстрационные ресурсы, показывающие порядок сборки бизнес-приложений Windows Mobile. Набор включает полный исходный код с расширенными комментариями, образец базы данных и более 100 страниц документации. В набор входят компоненты приложений, специально предназначенные для разных пользовательских ролей, включая обслуживание клиентов, работников склада и водителя доставки. Дополнительно, кроме руководства по разработке приложений, набор также включает рекомендации по успешному развертыванию мобильных бизнес-приложений в масштабе предприятия.

Ресурсы для разработчиков исходных приложений

Для разработчиков исходных приложений Windows Mobile 6 SDK включает пример UILayout. В этом примере показано, как реализовывать исходное приложение с пользовательским интерфейсом, автоматически настраивающимся с учетом различных дисплеев устройств. Класс ScreenLib из этого примера выполняет множество задач, связанных с интерфейсом пользователя, с помощью различных методов, включая методы закрепления, связывания и выравнивания элементов управления, оптимизации компоновки элементов управления приложения, и многое другое. Класс ScreenLib создан для многократного использования, поэтому вы можете включать его непосредственно в свои собственные приложения и пользоваться преимуществами множества представленных в нем функций.

Общие ресурсы

Для получения дополнительной обновленной информации о создании приложений, работающих эффективно с учетом всех конструктивных параметров семейства устройств Windows Mobile, посетите страницу Адаптация приложений Windows Mobile. Страница «Адаптация приложений Windows Mobile» – это ваш ресурс первого уровня, на котором представлено все, что связано с разработкой адаптируемых приложений Windows Mobile, включая основную документацию, веб-трансляции, объявления, и многое другое.

Улучшение работы пользователей

Windows Mobile 6 представляет новые возможности, направленные на улучшение обслуживания пользователя. Эти возможности обеспечивают разработчиков возможностью повысить практичность использования их приложений, предлагая новые пути взаимодействия с пользователем и распознавания изменений в состоянии устройства.

Улучшенный внешний вид

В Windows Mobile 6 полностью переработана архитектура внешнего вида устройства. Дисплей стал намного более четким и чистым. Одна из областей, где внешний вид подвергся наиболее значительным изменениям, – это экраны Pocket Outlook. Экраны теперь обеспечивают не только более четкое и чистое отображение, но также упрощают процесс просмотра и данных и перехода к ним. Ваши приложения получают преимущества этих улучшений просто потому, что будут работать на устройстве Windows Mobile 6; вам не надо ничего менять.

Windows Mobile предоставляет несколько стандартных форм диалоговых окон, включая диалоговое окно выбора контакта и формы обмена сообщениями. Стандартные диалоговые окна, которые вы используете в своих приложениях, – это те же формы, используемые в Pocket Outlook, и поэтому внешне они выглядят в ваших приложениях так же, как непосредственно в Pocket Outlook. Подобным образом преимущества, идущие от общих улучшений отображения, коснулись диалогового окна выбора изображений. Это же верно для приложений, которые используют класс DocumentList среды .NET Compact Framework 2.0 для поиска и открытия файлов. На рис. 18 показано новое диалоговое окно выбора изображений в Windows Mobile 6.

Рис. 18. Новое диалоговое окно выбора изображений в Windows Mobile 6

Подобным образом преимущества, идущие от общих улучшений отображения, коснулись диалогового окна выбора изображений. Это же верно для приложений, которые используют класс DocumentList среды .NET Compact Framework 2.0 для поиска и открытия файлов.

Новые возможности ввода благодаря новому интерфейсу API рукописных данных

Windows Mobile 6 включает облегченную версию интерфейса API рукописных данных WISP для карманных ПК, которая называется WISP Lite. WISP Lite представляет мощные и гибкие расширенные средства распознавания рукописных данных для всех устройств Windows Mobile 6 Classic и Windows Mobile 6 Professional. WISP Lite обеспечивает полную совместимость со средствами рукописных данных Tablet PC и включает API для сбора, распознавания, визуализации рукописных данных и управления ими. WISP Lite обеспечивает более точную обработку данных, чем предыдущий элемент управления RichInk.

Улучшенная работа с аудио файлами благодаря новому интерфейсу API для работы со звуковыми данными

В Windows Mobile 6 входит новый набор API для работы со звуковыми данными с поддержкой новых форматов звуковых данных. Новый интерфейс API для работы со звуковыми данными может воспроизводить файлы MP3, MID, WMA и WAV. В ответ на требования разработчиков, новый API для работы со звуковыми данными включает параметр отключения профиля устройства, чтобы звуковые файлы не воспроизводились, когда в устройстве установлен режим «без звука» или «вибрация».

Новый API для работы со звуковыми данными включает функции извлечения звуковых файлов, связанных с обычными событиями, такими как мелодия звонка известного абонента или абонента, находящегося в роуминге; вы можете также изменить звуковые файлы, связанные с этими событиями. Вы можете воспроизводить звуковые файлы в синхронном или несинхронном режиме; дополнительно, API уведомит ваше приложение о завершении несинхронного воспроизведения. Новый API также включает функции поиска местоположения звуковых файлов в оперативной памяти, ПЗУ и на установленной карте памяти.

Новое в сведениях о состоянии устройства

Параметры «Состояние» и «Брокер уведомлений» позволяют вашему приложению получать сведения об изменениях в состоянии устройства и интеллектуально реагировать на эти изменения. В Windows Mobile 5.0 поддерживалось более 100 значений параметров «Состояние» и Брокер уведомлений», в Windows Mobile 6 добавлено еще несколько значений. Windows Mobile 6 представляет сведения о состоянии вызова для голосовой почты по протоколу телефонных вызовов VoIP, включая номер телефона, имя оператора связи и др. Windows Mobile 6 также добавляет сведения о состоянии для блокировки устройства. Сведения о состоянии теперь доступны для изменений в состоянии блокировки клавиатуры, блокировки устройства и блокировки SIM-карты.

Что нужно для начала создания приложений Windows Mobile 6

Начать разработку приложений для Windows Mobile 6 совсем несложно. В действительности, у вас, вероятно, для этого уже есть больше, чем нужно.

Чтобы разработать ваше первое приложение Windows Mobile 6, вам нужно установить несколько программ. В этом разделе представлен список ПО, которое вам понадобиться, а также даны сведения о том, является ли это ПО обязательным, рекомендуемым или необязательным. Также включено краткое описание назначения каждой программы.

Табл. 6. Примеры функций и макросов, с помощью которых можно адаптировать приложение к различным дисплеям устройств
Предварительные условия Обязательно/дополнительно Описание
Visual Studio 2005 Standard Edition, Professional Edition или Team System Обязательно Visual Studio 2005 является средой разработки, которую вы используете для создания приложений Windows Mobile.
Windows Mobile 6 Professional SDK или Windows Mobile 6 Standard SDK Обязательно Предоставляет инструменты, заголовки, образы эмуляторов и типы проектов Visual Studio 2005 для разработки приложений Windows Mobile 6.
ActiveSync 4.5 или выше (XP) или центр устройств Windows Mobile (Vista) Обязательно Обеспечивает подключение к соединительному модулю образа эмулятора или устройства Windows Mobile 6.
Visual Studio 2005 с пакетом обновления 1 Д

ополнительно (Windows XP)


Обязательно (Windows Vista™)

Включает небольшие исправления ошибок и обновления диалоговых окон, относящихся к данным, в Visual Studio 2005 для отображения имени продукта SQL Server Compact Edition. Для пользователей Windows Vista этот пакет обновления необходим для запуска Visual Studio 2005 под управлением Windows Vista.
..NET Compact Framework 2.0 с пакетом обновления 1 Рекомендуется Без этого пакета обновления Visual Studio 2005 разворачивает среду .NET Compact Framework 2.0 для устройства Windows Mobile 6 каждый раз, когда вы разворачиваете ваше приложение. Также добавлена поддержка командной строки отладки и представлена новая служебная программа для просмотра данных о производительности, получаемых при работе .NET Compact Framework 2.0.
SQL Server 2005 Compact Edition Tools для Visual Studio 2005 Дополнительно Предоставляет инструменты и необходимые сборки для разработки приложений Windows Mobile 6, которые используют SQL Server 2005 Compact Edition. Перед установкой этих инструментов необходимо установить Visual Studio 2005 SP1.

Использование существующего опыта

Если вы когда-либо создавали приложения Windows для настольного компьютера или серверные приложения, хотя и ни разу не собирали приложения Windows Mobile, у вас уже есть необходимый опыт для начала разработки приложений Windows Mobile 6. Один из факторов, который делает столь легким начало сборки приложений Windows Mobile 6, – это Visual Studio 2005. Создание приложений Windows Mobile 6 в Visual Studio 2005 очень походит на работу с компьютерным приложением Windows Forms. Visual Studio 2005 поддерживает то же поведение и обеспечивает такие же функции для приложений Windows Mobile 6, как и для компьютерных приложений.

Разработка управляемых приложений

Если вы являетесь разработчиком управляемых приложений, вы обнаружите, что среда .NET Compact Framework 2.0 предоставляет те же классы, которые вы используете, когда создаете приложения для настольного компьютера, и эти классы являются расширенными наборами всех классов .NET Framework. Среда .NET Compact Framework 2.0 обеспечивает также множество элементов управления, идентичных Windows Forms, которые вы используете для сборки компьютерных приложений. С этими элементами управления можно работать точно так же, как это вам хорошо известно по разработке компьютерных приложений.

Разработка исходных приложений

Основным интерфейсом API для платформы Windows Mobile 6 является Win32. Он совместим с Win32 настольного компьютера, хотя и является его поднабором. Подобным образом доступны классы ATL и MFC, которые являются расширенными поднаборами своих компьютерных дубликатов. Вы также обнаружите, что много кодов языка C\C++, которые вы писали для компьютерных приложений, совместимы с Windows Mobile 6. Такая высокая степень совместимости существует благодаря тому, что Visual Studio 2005 использует те же предварительные компиляторы языка C\C++ как для приложений настольных компьютеров, так и приложений для устройств Windows Mobile.

Разработка приложений базы данных

Вы также обнаружите, что ваша квалификация и ваш опыт в разработке приложений баз данных для SQL Server 2000 и SQL Server 2005 позволяет легко перейти к разработке приложений SQL Server 2005 Compact Edition. Синтаксисы SQL Server Compact Edition SQL и SQL Server 2005 полностью совместимы. Подобным образом интерфейсы программирования ADO.NET и OLEDB для SQL Server Compact Edition совместимы с соответствующими интерфейсами для SQL Server 2005. Вам известен даже процесс создания базы данных SQL Server Compact Edition и управления ею, так как вы используете тот же инструмент SQL Server Management Studio для создания и управления базами данных SQL Server Compact Edition, который вы использовали для создания и управления базой данных SQL Server 2005.

Рекомендации

Майкрософт предлагает несколько ресурсов, на которых вы можете найти рекомендации, необходимые для сборки качественных приложений для платформы Windows Mobile 6. Дополнительно к документации по продуктам здесь вы можете найти сведения о разработке приложений Windows Mobile и примеры лучшего практического опыта для успешной работы с платформой Windows Mobile.

Вероятно, лучше всего начать здесь: Страница Windows Mobile на MSDN®. Здесь доступна самая последняя информация о разработке Windows Mobile. Страница Windows Mobile на веб-узле MSDN также включает указатели на другие ресурсы, такие как основная документация, полезные блоги и веб-трансляции.

Для разработчиков Windows Mobile группа шаблонов и практических рекомендаций Майкрософт представляет превосходное руководство в фабрике программ Mobile Client. Фабрика программ Mobile Client – это сочетание лучшего практического опыта, примеров, исходных кодов и инструментов для разработчиков Windows Mobile. Эти темы охватывают работу с различными конструктивными параметрами устройств, управление данными в автономном режиме, синхронизацию данных и управление крупномасштабными приложениями.

Windows Mobile – это общественный проект на узле MSDN «канал Channel 9». Хороший способ воспользоваться знаниями и опытом других разработчиков – посетить Windows Mobile Wiki. Вы обнаружите, что Wiki уделяет много внимания наиболее распространенным вопросам.

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

Страница «Адаптация приложений Windows Mobile» - на ней представлена самая последняя информацию о проблемах, связанных с разработкой приложений, которые работают на всех устройствах семейства Windows Mobile. Вы найдете новости, объявления, указатели на веб-трансляции и основную документацию, полностью сфокусированные на этом одном вопросе.

Заключение

Windows Mobile 6 предоставляет инструменты и функции, которые необходимы разработчикам для развертывания мощных бизнес-приложений для мобильных устройств. Добавление .NET Compact Framework 2.0 SP1 и SQL Server 2005 Compact Edition в ПЗУ всех устройств Windows Mobile 6 создает мощную платформу приложений, а также упрощает их развертывание. Device Emulator 2.0 и другие инструменты, включенные в комплект разработчика Windows Mobile 6 SDK, упрощают процесс разработки приложений, которые выполняются на множестве различных устройств, так как эти инструменты дают возможность выполнить больше несложных тестов с учетом всего диапазона конструктивных параметров и функций устройств Windows Mobile. Больше 100 примеров, включенных в комплект Windows Mobile 6 SDK, шаблоны и рекомендации фабрики программ Mobile Client и комплект ускорителя бизнес-решений для мобильных устройств – вся эта информация объединена, чтобы предоставить вам необходимое руководство для немедленного начала разработки бизнес-приложений.

Независимо от того, опытный вы разработчик Windows Mobile или готовитесь приступить к своему первому проекту для устройств с этой операционной системой, вы обнаружите, что Windows Mobile 6 – это лучшая платформа Windows Mobile, доступная для бизнес-приложений.

Windows Mobile 6 – это лучшая платформа этой серии для создания бизнес-приложений, как для опытных разработчиков, так и для тех, кто готовится приступить к своему первому "мобильному" проекту.

Дополнительная информация

Другие ресурсы

© 2009 Microsoft Corporation. Все права защищены. Условия использования  |  Товарные знаки  |  Конфиденциальность
Page view tracker