Эмуляция акселерометра и геопозиционирования в Windows Phone SDK 7.1

Как уже известно в Windows Phone SDK 7.1 Beta 2 и Beta 2 Refresh у эмулятора появилась дополнительная панель с помощью которой можно делать скриншоты и управлять эмуляцией акселерометра и геопозиционирования.
Эмуляцией акселерометра можно управлять в режиме реального времени или с помощью файла конфигурации, один такой файл уже есть по умолчанию и называется Shake. Никаких инструментов для работы с этим файлом в SDK нет.
С эмуляцией геопозиционирования всё немного проще. В эмуляторе есть карта, на которую можно наносить опорные точки траектории, а потом записать траекторию в XML файл.
Но что делать если траектория и координаты для эмуляции нам известны, но точек очень иного? И что делать если нужно сэмулировать какую-то особоенную последовательность на датчике акселерометра? Нужно просто создать конфигурационные файлы для этих датчиков.
Файл для акселерометра находится в папке C:Program FilesMicrosoft XDE1.0sensordataacc
и уже встроенный файл называется Shake (файл не имеет расширения).
Можно создавать новые файлы в этой папке — они будут отображаться в меню эмулятора. Поддерживаются названия файлов в юникоде.
Файл имеет структутру XML:
<code><?xml version=″ 1.0″ encoding=″ utf-8″ ?>
<WindowsPhoneEmulator xmlns=″http://schemas.microsoft.com/WindowsPhoneEmulator/2009/08/SensorData″ >
<SensorData>
<Header version=″1″ />
<AccData offset=″2″ x=″-00.08400000″ y=″ -01.02100003″ z=″ -00.41700000″ />
<AccData offset=″50″ x=″ -00.08400000″ y=″-01.02100003″ z=″-00.41700000″ />
</SensorData>
</WindowsPhoneEmulator></code>
На что следует обратить внимание:
В строке <Header version=″1″ /> значение version не меняйте.

offset — момент времени в милисекундах (1/1000 сек). Таким образом положение можно задавать для моментов времени с точностью до милисекунды. Положение для моментов времени должны указываться строго по возрастанию времени.

Файл координат для эмулятора геопозиционирования может располагаться в произвольной папке. В эмуляторе есть меню для загрузки этого файла. Имеет стандарное расширение xml. Cтруктура файла:
<code><?xml version=″1.0″ encoding=″utf-8″?>
<WindowsPhoneEmulator xmlns=″ http://schemas.microsoft.com/WindowsPhoneEmulator/2009/08/SensorData″>
<SensorData>
<Header version=″1″ />
<GpsData latitude=″47.7114033410531″ longitude=″-122.154929910156″ />
<GpsData latitude=″47.7077070505247″ longitude=″-122.083518777344″ />
<GpsData latitude=″47.6882972242788″ longitude=″-122.062919412109″ />
<GpsData latitude=″47.6596314168492″ longitude=″-122.013480935547″ />
</SensorData>
</WindowsPhoneEmulator></code>
В строке <Header version=″1″/> значение version также не меняйте.
Координаты указываются последовательно друг за другом — значения Latitude и longitude соответственно.

Enjoy!

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *