1 / 90

Windows Phone 8: Обзор возможностей ( часть 1)

Windows Phone 8: Обзор возможностей ( часть 1). Сергей Байдачный Специалист по разработке программного обеспечения Майкрософт Украина Sergiy.Baydachnyy@microsoft.com. Конкурс приложений для Windows Phone. http://wp8.promorc.com. Содержание. «Живые» плитки в Windows Phone 8

baina
Download Presentation

Windows Phone 8: Обзор возможностей ( часть 1)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Windows Phone 8: Обзор возможностей (часть 1) Сергей Байдачный Специалист по разработке программного обеспечения Майкрософт Украина Sergiy.Baydachnyy@microsoft.com

  2. Конкурс приложений для Windows Phone • http://wp8.promorc.com

  3. Содержание «Живые» плитки в Windows Phone 8 Интеграция с экраном блокировки Работа с хранилищами данных «Глубокие» ссылки и ассоциации с файлами

  4. «Живые» плитки в Windows Phone 8

  5. Персонализация устройства Они все одинаковые….

  6. Flip Tile Шаблон(TemplateFlip, FlipTileData) small: 159x159 medium: 336x336 wide: 691x336

  7. Cycle Tile Шаблон(TemplateCycle, CycleTileData) small: 159x159 medium: 336x336 wide: 691x336 wide center crops to medium

  8. Iconic Tile Шаблон(TemplateIconic, IconicTileData) small: 110x110 medium: 202x202 white with transparency onlycrop tight on horizontal

  9. Новые типы плиток Демонстрация

  10. Работа старых приложений WP7.5 поддерживают маленькие иконки на WP8! От разработчика ничего не требуется Происходит автоматическое масштабирование

  11. Работа старых приложений Вы можете использовать Reflection для доступа к новым классам на платформе WP 8 http://mangopollo.codeplex.com - пример библиотеки для WP 7.x по расширению возможности плиток

  12. Интеграция с экраном блокировки

  13. Интеграция с экраном блокировки Отображение контента из приложения на экране блокировки Отображение иконки и счетчика (когда счетчик >0) Работает вне зависимости от того, прикреплена ли плитка на основной экран Задается в манифесте с помощью Extensions элемента

  14. Обновление заставки Пользователь может выбрать провайдера изображений в “lock screen” настройках ?WallpaperSettings=1 Приложение может запросить пользователя на право быть провайдером картинок Предоставляйте DefaultLockScreen.jpg в корне XAP Задается в манифесте с помощью Extensions элемента

  15. Работа с хранилищами данных

  16. StorageFileи StorageFolder • Простой способ взаимодействия с директориями и файлами • Используется в следующих случаях: • Доступ через InstalledLocation (в текущем объекте типа Package) к директории приложения • Доступ к локальной директории приложения, предназначенной для хранения файлов, изолированных от других приложений (LocalFolder) • Доступ к специальным директориям (в LocalFolder) • ISETool.exe – утилита для работы с директориями приложения в устройстве

  17. Расширена работа с Media Library • Добавление и удаление музыки • SaveSongи Delete • Получение абсолютного пути к элементу • Данные хранятся как в памяти телефона, так и на внешних SD картах

  18. Работа с данными на SD карте • Приложение должно задекларировать эту возможность • Работа осуществляется только с ассоциированными с приложением файлами • Дополнительный набор классов: • ExternalStorageDevice • ExternalStorageFile • ExternalStorageFolder

  19. Интеграция с контактами Приложения в Windows Phone 8 могут создавать свои группы контактов Контакты приложения интегрируются в стандартный Contact Hub К другим группам контактов приложение имеет доступ только на чтение (как и в WP 7.x)

  20. «Глубокие» ссылки и ассоциации с файлами

  21. Немного о классе Launcher private async void LauchSomething() { StorageFolder local = ApplicationData.Current.LocalFolder; StorageFilebqfile = await local.GetFileAsync("myfile.myex"); bool b=await Launcher.LaunchFileAsync(bqfile); } • Пример запуска страницы сайта • Пример запуска внешнего приложения • ms-settings-lock: • Передача файла

  22. Ассоциация задана Launch URI: skype:call?5551234

  23. Нет приложений

  24. 2+ приложения

  25. Создание ссылок <Extensions> <Protocol Name="myprotocol" NavUriFragment="encodedLaunchUri=%s" TaskID="_default"/> </Extensions> Добавление элементов в манифест

  26. Создание ассоциации: иконки • Почта, браузер, офис • Размеры • Small: 33px • Medium: 69px • Large: 176px

  27. Запуск приложений через Proximity ProximityDevice device = ProximityDevice.GetDefault(); if (device != null) { long Id = device.PublishUriMessage( new System.Uri("contoso:NewProducts")); } Запуск приложения на удаленном устройстве

  28. Вопросы?

  29. Windows Phone 8: Обзор возможностей (часть 2) Сергей Байдачный Специалист по разработке программного обеспечения Майкрософт Украина Sergiy.Baydachnyy@microsoft.com

  30. Содержание Карты и местоположение Распознавание голоса Кошелек Коммуникации И другое…..

  31. Определение местоположения

  32. Доступные APIs Доступно из C# и C++ Позволяет определять положение через интервал времени или базируясь на перемещениях Позволяет задать точность в метрах и время Позволяет задать максимальный «возраст» данных • Предустановленная точность • Проблемы с кешированием • Только из управляемых приложений • Требует вызова Start и Stop A-GPS Wi-fi Cell .Net APIs Windows Runtime APIs

  33. Определение позиции publicasyncTask<Geocoordinate> GetSinglePositionAsync() { Geolocatorgeolocator = new Geolocator();  geolocator.DesiredAccuracyInMeters = 10; Geopositiongeoposition = awaitgeolocator.GetGeopositionAsync( TimeSpan.FromMinutes(1), TimeSpan.FromSeconds(30)); return geoposition.Coordinate; }

  34. Отслеживание изменений private GeolocatortrackingGeolocator; private TypedEventHandler<Geolocator, PositionChangedEventArgs> positionChangedHandler; publicvoid StartTracking() { trackingGeolocator = new Geolocator(); trackingGeolocator.MovementThreshold = 100; // или trackingGeolocator.ReportInterval = (uint)TimeSpan.FromSeconds(30).TotalMilliseconds; positionChangedHandler = (geolocator, eventArgs) => {}; trackingGeolocator.PositionChanged += positionChangedHandler; } publicvoid StopTracking() { trackingGeolocator.PositionChanged -= positionChangedHandler; }

  35. Работа с картами

  36. Windows Phone 8 Map Control • Nokia Mapping Data110+ стран, векторные карты, 3D объекты, несколько режимов • Offline MapsЗагружаются пользователем, MapsDownloaderзадача доступна для разработчика • Map ControlУдобное взаимодействие, быстрая прорисовка, поворот • Отображение направленияВычисляется через Maps Services

  37. Windows Phone Maps Services • GeocodingLatitude,Longitude to Address • Reverse Geocoding Address to Latitude,Longitude • RoutingRouteQuery, Route, RouteLeg, RouteManeuver

  38. Windows Phone Map and Services API Part of Windows Phone Toolkit MapsUserControl PushPin ToGeoCoordinate • ID_CAP_MAP and ID_CAP_LOCATION • Developer Token assigned • through Windows Phone • Developer Center Map Control & Service APIs .Net Map Toolkit Extensions

  39. Местоположение в фоне

  40. Настройка приложения • App manifest: <defaultTaskName="_default"NavigationPage="MainPage.xaml" >     <BackgroundExecution>       <ExecutionTypeName="LocationTracking" />     </BackgroundExecution> </defaultTask>

  41. Ограничения • Только в XAML приложениях • Только одно приложение может быть запущено • Ограничения по доступу к ресурсам

  42. Использование ресурсов • CPU затраты на уровне10% • Доступ к • Location • Audio\Speech • Network • Storage • Sensors • Нет доступа к камере и микрофону • ShellToastиShellTile.Update

  43. Контроль со стороны пользователя • ID_CAP_LOCATION • Пользователь может закрыть приложение • Пользователь может запретить функциональность для приложения

  44. Деактивация • Приложение работает в фоне пока: • Приложение отслеживает местоположение • Пользователь не запретил Location Services • Не прошло 4 часа без перехода из фона • Battery Saver не включена • Другое приложение не переходит в фон • Достаточно памяти • Предоставляется информация о причине деактивации • Нотифицируйте пользователя

  45. Распознавание голоса

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

  47. Синтез голоса Всего две строки кода: async privatevoidButtonTTS_Click(object sender, RoutedEventArgs e) { SpeechSynthesizer synth = newSpeechSynthesizer(); awaitsynth.SpeakTextAsync("You have a meeting with Peter in 15 minutes."); }

  48. Распознавание голоса async privatevoidButtonSR_Click(object sender, RoutedEventArgs e) { SpeechRecognizerreco = newSpeechRecognizer(); // Use the default short message dictation grammarSpeechRecognitionResultrecoResult = await reco.RecognizeAsync(); // Do something with the recognition result MessageBox.Show(string.Format("You said {0}.", recoResult.Text)); }

  49. Кошелек

More Related