Александр Климов - Программирование КПК и смартфонов на .NET Compact Framework
Следует отметить, что в некоторых случаях эмулятор все-таки не сможет выполнить эту задачу. Например, он не поможет проверить работу кода, который использует возможности инфракрасной связи. И, тем не менее, эмулятор является очень мощным и удобным инструментом для отладки приложений.
Надо сказать, что качество и возможности эмулятора постоянно улучшаются и совершенствуются. Разработчики, которые программировали еще на eMbedded Visual Basic и Visual Studio 2003, без сомнения, обратят внимание на возросшую скорость работы эмулятора, его надежность и удобство. Эмулятор, поставляемый с Visual Studio 2005, имеет улучшенную поддержку общих папок, программы синхронизации ActiveSync и последовательных портов. Также эмулятор поддерживает альбомную и книжную ориентацию. Раньше об этом приходилось только мечтать. Особенно приятно отметить тот факт, что можно дополнительно скачать локализованные версии эмуляторов. Например, все примеры для Windows Mobile 5.0 тестировались исключительно на русской версии эмулятора.
Запуск эмулятора
Итак, при написании своей программы у разработчика есть возможность выбирать, где тестировать свой код. Как правило, программу сначала проверяют на эмуляторе. Это позволяет быстро исправить ошибки и устранить недочеты. А уже окончательную версию программы можно и нужно проверить на реальном устройстве.
Рассмотрим вариант запуска эмулятора и его настройки. Сначала требуется создать или открыть проект, предназначенный для мобильного устройства, например, первую программу «Здравствуй, мир», которая создавалась в главе 2. После выполнения команды меню Debug►Start Debugging среда разработки Visual Studio отображает диалоговое окно Deploy (рис. 8.1).
Рис. 8.1. Запуск эмулятора
В диалоговом окне отображается список, в котором содержатся одно реальное устройство и четыре эмулятора разных типов устройств.
Нужно выбрать любой эмулятор из списка. Стандартным выбором в данном случае является значение Pocket PC 2003 SE Emulator. Нужно выделить строку с выбранным эмулятором и нажать кнопку Deploy. Через несколько секунд на экране компьютера появится эмулятор карманного компьютера, в котором будет запущено выбранное приложение. Программист может работать с тестируемой программой так же, как и на реальном устройстве. Кроме того, можно оставить в покое программу и запустить любое приложение, которое есть на этом эмуляторе.
ПРИМЕЧАНИЕСписки эмуляторов на каждом компьютере разработчика могут различаться, так как можно скачать и установить дополнительные эмуляторы. Когда будут рассматриваться примеры для устройств под управлением Windows Mobile 5.0, диалоговое окно будет содержать уже другие эмуляторы.
После того как тестирование программы будет завершено, вам надо остановить выполнение программы при помощи команды меню Stop debugging в среде разработки. При этом не стоит закрывать само окно эмулятора, как часто делают начинающие программисты. Если оставить эмулятор работать, то это позволит потратить меньше времени на повторную загрузку эмулятора при следующей отладке программы.
ПРИМЕЧАНИЕЕсли ваша программа имеет код для закрытия приложения this.Close(), то режим отладки автоматически остановится и выполнять команду меню Stop debugging не понадобится.
Настройка эмулятора
Попробуем теперь поработать с различными настройками эмулятора. Для начала следует выполнить команду меню Tools►Options. В открывшемся диалоговом окне Options надо выбрать строку Device Tools, а в ней активировать пункт Devices. Затем в списке Devices надо выбрать элемент Pocket PC 2003 SE и нажать кнопку Properties (рис. 8.2).
Рис. 8.2. Окно настроек эмулятора
На экране появится новое диалоговое окно Pocket PC 2003 SE Properties (рис. 8.3). Обратите внимание на то, что по умолчанию программа устанавливается в папку Program Files.
Рис. 8.3. Окно свойств эмулятора
После ознакомления со свойствами эмулятора нужно закрыть все диалоговые окна и вернуться в главное окно среды разработки. Там надо выполнить команду меню Tools►Device Emulator Manager. На экране откроется новое диалоговое окно, в котором будут перечислены все имеющиеся эмуляторы (рис. 8.4).
Рис. 8.4. Список установленных эмуляторов
Надо выбрать из списка элемент Pocket PC 2003 SE Emulator, а затем выполнить команду меню Actions►Connect. Менеджер эмуляторов загрузит выбранный эмулятор. На экране появится специальный значок, который сигнализирует об установленном соединении. Затем нужно выполнить команду меню Actions►Cradle. Если операция пройдет успешно, то значок состояния эмулятора изменится. Это означает, что эмулятор КПК соединен с виртуальной док-станцией. Теперь можно синхронизировать данные с помощью программы синхронизации ActiveSync. По завершении операции нужно выполнить команду меню Actions►Uncradle.
Эмуляция карточки памяти
Все модели карманных компьютеров и смартфонов имеют возможность увеличения объема памяти при помощи различных карточек памяти. Дополнительный объем дискового пространства используют для хранения фильмов, фотографий и других документов. Особенно это актуально для пользователей устройств под управлением Pocket PC 2003, так как после перезагрузки устройства все данные на устройстве стираются. Эмулятор позволяет использовать любую папку настольного компьютера в качестве карточки памяти. Для выбора подключаемой папки нужно в окне эмулятора выполнить команду меню File►Configure и на вкладке General указать соответствующую папку в пункте Shared Folder (рис. 8.5).
Рис. 8.5. Эмуляция карточки памяти
После того как соответствующая папка будет подключена, можно с помощью стандартной программы File Explorer, входящей в состав Windows Mobile, убедиться, что у устройства теперь имеется карточка памяти, которая представлена как папка Storage Card (рис. 8.6).
Рис. 8.6. Папка Storage Card
Изменение ориентации экрана
Эмулятор позволяет легко менять ориентацию экрана. Достаточно перейти на вкладку Display после выполнения команды меню File►Configure и выбрать нужный режим в разделе Orientation (рис. 8.7).
Рис. 8.7. Настройка ориентации экрана
Если выбрать соответствующее значение для поворота экрана, то эмулятор повернет изображение устройства (но не экрана) на 90° (рис. 8.8).
Рис. 8.8. Вращение устройства
Выход в Интернет через эмулятор
Совсем не обязательно при отладке своих программ для карманных компьютеров или смартфонов копировать программы на данные устройства, запускать их и проверять работоспособность приложений. Гораздо удобнее использовать эмуляторы соответствующих устройств. Несомненно, вы так и поступали при изучении предыдущих примеров. Но все описанные примеры не использовали ресурсы Интернета. Однако сейчас количество программ, использующих сетевые возможности, стремительно растет. К счастью, эмулятор приходит на выручку и в этой ситуации. Если ваш компьютер, на котором установлен эмулятор, имеет соединение с Интернетом, то можно подключить к Сети и сам эмулятор. Настройка не очень сложна, и все этапы приведены в следующем списке.
1. Создать новый проект в Visual Studio 2005.
2. Запустить программу ActiveSync. Возможно, она неактивна, и ее пиктограмма располагается в области уведомлений. В этом случае надо щелкнуть правой кнопкой мыши на этом значке и выполнить команду контекстного меню Открыть Microsoft ActiveSync.
3. Вернуться в среду разработки Visual Studio 2005 и выполнить команду меню Tools►Device Emulator Manager. На экране появится диалоговое окно Device Emulator Manager.
4. Щелкнуть правой кнопкой мыши на соответствующем эмуляторе и выполнить команду контекстного меню Connect. На экране появится соответствующий эмулятор.
5. Вернуться в диалоговое окно Device Emulator Manager и снова щелкнуть правой кнопкой на выбранном ранее эмуляторе, а затем выполнить команду Cradle.
6. В диалоговом окне Device Emulator Manager у выбранного эмулятора появится значок, показывающий, что эмулятор теперь подключен к системе настольного компьютера.
7. Автоматически появится сообщение от Microsoft ActiveSync о том, что установлено соединение (рис. 8.9).