230 likes | 439 Views
Metro приложения: интеграция с устройствам. Сергей Байдачный Специалист по разработке программного обеспечения Sergiy.Baydachnyy@microsoft.com. MS SWIT 2012. Сенсоры. Windows 8 поддерживает сенсоры. Планшеты и аналогичное оборудование : Light сенсор
E N D
Metro приложения: интеграция с устройствам Сергей Байдачный Специалист по разработке программного обеспечения Sergiy.Baydachnyy@microsoft.com MS SWIT 2012
Windows 8 поддерживает сенсоры • Планшеты и аналогичное оборудование: • Light сенсор • Motion сенсоры(Accelerometer, Magnetometer, Gyroscope) • Windows Location Provider • GPS (если присутствует поддержка мобильных операторов)
Построение приложений с учетом положения
Простые сценарии • Поиск POI • Гео-таргетирование фотографий и другого контента • Простые приложения по работе с картами • Локальная информация (погода, новости, …) • Социальные приложения
Сценарии, связанные с перемещением • Навигация • Приложения в реальном времени • Виртуальный тур • Данные о маршруте • Социальные сети
Декларация • // Application manifest capabilities required • // to access Geolocation & Camera in your app • <Capabilities> • <DeviceCapability Name="webcam" /> • <DeviceCapabilityName=“location" /> • </Capabilities>
Одноразовое получение данных • varloc; • loc = new Windows.Devices.Geolocation.Geolocator(); • loc.getGeopositionAsync().then(getPositionHandler); • function getPositionHandler(pos) { • varlat = pos.coordinate.latitude; • var long = pos.coordinate.longitude; • varacc = pos.coordinate.accuracy; • }
Реакция на события • varloc; • loc = new Windows.Devices.Geolocation.Geolocator(); • loc.addEventListener("positionchanged", onPositionChanged); • function onPositionChanged(args) { • varpos = args.position; • varlat = pos.coordinate.latitude; • var long = pos.coordinate.longitude; • varacc = pos.coordinate.accuracy; • }
Windows Location Provider Позволяет произвести эмуляцию устройства, получающего позицию по параметрам сети IP Address Wi-fi access points
W3C APIи Windows API • Metro style приложения могут использовать W3C или Windows Runtime для доступа к сенсорам • Windows run-time поддерживает несколько языков • JavaScript, C++, C# • W3C – JavaScript
Bing Maps SDK Geolocatorloc = new Geolocator(); Geopositionpos = 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);
Bing Maps SDK • http://msdn.microsoft.com/en-us/library/hh846481.aspx
Простые сценарии встряхнуть повернуть переместить
Windows.Devices.Sensors Simple Data Simple Device Orientation Raw Sensor Data Light Sensor Accelerometer Gyro Sensor Fusion Data Compass Inclinometer Device Orientation
Accelerometer • var accelerometer; • accelerometer = Windows.Devices.Sensors.Accelerometer.getDefault(); • accelerometer.addEventListener("readingchanged",onAccReadingChanged); • function onAccReadingChanged(e) { • varaccelX = e.reading.accelerationX; • varaccelY = e.reading.accelerationY; • varaccelZ = e.reading.accelerationZ; • }
Accelerometer Демонстрация
Что еще • Подключение внешних устройств через USB • Печать • Использование Bluetooth
Вопросы? Sergiy.Baydachnyy@microsoft.com