23
Metro приложения: интеграция с устройствам СЕРГЕЙ БАЙДАЧНЫЙ СПЕЦИАЛИСТ ПО РАЗРАБОТКЕ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ [email protected] MS SWIT 2012

Metro приложения: интеграция с устройствам

  • Upload
    pomona

  • View
    90

  • Download
    0

Embed Size (px)

DESCRIPTION

Metro приложения: интеграция с устройствам. Сергей Байдачный Специалист по разработке программного обеспечения [email protected]. MS SWIT 2012. Сенсоры. Windows 8 поддерживает сенсоры. Планшеты и аналогичное оборудование : Light сенсор - PowerPoint PPT Presentation

Citation preview

Page 1: Metro  приложения: интеграция с устройствам

Metro приложения: интеграция с устройствамСЕРГЕЙ БАЙДАЧНЫЙСПЕЦИАЛИСТ ПО РАЗРАБОТКЕ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ[email protected]

MS SWIT 2012

Page 2: Metro  приложения: интеграция с устройствам

Сенсоры

Page 3: Metro  приложения: интеграция с устройствам

3

Windows 8 поддерживает сенсоры• Планшеты и аналогичное

оборудование:• Light сенсор• Motion сенсоры

(Accelerometer, Magnetometer, Gyroscope)

• Windows Location Provider• GPS (если присутствует поддержка

мобильных операторов)

Page 4: Metro  приложения: интеграция с устройствам

Построение приложений с

учетом положения

Page 5: Metro  приложения: интеграция с устройствам

5

Простые сценарии• Поиск POI• Гео-таргетирование фотографий и

другого контента• Простые приложения по работе с

картами• Локальная информация (погода,

новости, …)• Социальные приложения

Page 6: Metro  приложения: интеграция с устройствам

6

Сценарии, связанные с перемещением• Навигация• Приложения в реальном

времени• Виртуальный тур• Данные о маршруте

• Социальные сети

Page 7: Metro  приложения: интеграция с устройствам

7

Декларация• // Application manifest capabilities

required • // to access Geolocation & Camera in

your app

• <Capabilities>•     <DeviceCapability

Name="webcam" />• <DeviceCapability

Name=“location" />• </Capabilities>

Page 8: Metro  приложения: интеграция с устройствам

8

Уведомление пользователя

Page 9: Metro  приложения: интеграция с устройствам

9

Одноразовое получение данных• var loc;• loc = new

Windows.Devices.Geolocation.Geolocator();• loc.getGeopositionAsync().then(getPositionHandler

);

• function getPositionHandler(pos) {• var lat = pos.coordinate.latitude;• var long = pos.coordinate.longitude;• var acc = pos.coordinate.accuracy;• }

Page 10: Metro  приложения: интеграция с устройствам

10

Реакция на события• var loc;• loc = new

Windows.Devices.Geolocation.Geolocator();• loc.addEventListener("positionchanged",

onPositionChanged);

• function onPositionChanged(args) {• var pos = args.position;• var lat = pos.coordinate.latitude;• var long = pos.coordinate.longitude;• var acc = pos.coordinate.accuracy;• }

Page 11: Metro  приложения: интеграция с устройствам

11

Windows Location Provider

IP Address

Wi-fi access points

Позволяет произвести эмуляцию устройства, получающего позицию по параметрам сети

Page 12: Metro  приложения: интеграция с устройствам

12

W3C API и Windows API• Metro style приложения могут

использовать W3C или Windows Runtime для доступа к сенсорам

• Windows run-time поддерживает несколько языков• JavaScript, C++, C#• W3C – JavaScript

Page 13: Metro  приложения: интеграция с устройствам

13

Bing Maps SDKGeolocator loc = new Geolocator();Geoposition pos = await loc.GetGeopositionAsync();

bm1.Center = new Bing.Maps.Location(pos.Coordinate.Latitude, pos.Coordinate.Longitude);bm1.MapType = MapType.Road;bm1.ZoomLevel = 12;

Pushpin pushpin = new Pushpin();MapLayer.SetPosition(pushpin, new Bing.Maps.Location(pos.Coordinate.Latitude, pos.Coordinate.Longitude));bm1.Children.Add(pushpin);

Page 14: Metro  приложения: интеграция с устройствам

14

Bing Maps SDK• http://msdn.microsoft.com/en-us/library/

hh846481.aspx

Page 15: Metro  приложения: интеграция с устройствам

Демонстрация

Page 16: Metro  приложения: интеграция с устройствам

Перемещения

Page 17: Metro  приложения: интеграция с устройствам

17

Простые сценарии

повернутьвстряхнуть переместить

Page 18: Metro  приложения: интеграция с устройствам

18

Windows.Devices.Sensors

Simple Device Orientation

Simple Data

Accelerometer

Gyro

Light Sensor

Raw Sensor Data

Inclinometer

Device Orientation

Compass

Sensor Fusion Data

Page 19: Metro  приложения: интеграция с устройствам

19

Accelerometer• var accelerometer;• accelerometer =

Windows.Devices.Sensors.Accelerometer.getDefault();• accelerometer.addEventListener("readingchanged",onA

ccReadingChanged);

• function onAccReadingChanged(e) {• var accelX = e.reading.accelerationX;• var accelY = e.reading.accelerationY;• var accelZ = e.reading.accelerationZ;• }

Page 20: Metro  приложения: интеграция с устройствам

Accelerometer

Демонстрация

Page 21: Metro  приложения: интеграция с устройствам

21

Что еще• Подключение внешних

устройств через USB• Печать• Использование Bluetooth

Page 22: Metro  приложения: интеграция с устройствам

Демонстрация

Page 23: Metro  приложения: интеграция с устройствам

[email protected]

Вопросы?