![Page 1: Технический обзор возможностей платформы Windows Phone](https://reader035.vdocuments.net/reader035/viewer/2022062411/568168a7550346895ddf4402/html5/thumbnails/1.jpg)
![Page 3: Технический обзор возможностей платформы Windows Phone](https://reader035.vdocuments.net/reader035/viewer/2022062411/568168a7550346895ddf4402/html5/thumbnails/3.jpg)
платформа
![Page 4: Технический обзор возможностей платформы Windows Phone](https://reader035.vdocuments.net/reader035/viewer/2022062411/568168a7550346895ddf4402/html5/thumbnails/4.jpg)
ЖелезоЕмкостной дисплей4 или более точек контактаСенсорыA-GPS, Accelerometer, Compass, Light, Proximity, GyroКамера5 мегапикселей или болееМультимедиа возможностиМинимальная спецификация, акселерация кодековПамять256MB RAM или более, 8GB Flash или болееGPUАкселерация инструкций DirectX 9CPUQualcomm MSM7x30, MSM8x55 800Mhz или более
800
480
Аппаратные кнопки | Назад, Старт, Поиск
![Page 5: Технический обзор возможностей платформы Windows Phone](https://reader035.vdocuments.net/reader035/viewer/2022062411/568168a7550346895ddf4402/html5/thumbnails/5.jpg)
API
Kernel Hardware BSP
App Model UI Model Cloud Integration
Приложения
App managementLicensingChamber isolationSoftware updates
Shell frame Session managerDirect3DCompositor
Xbox LIVEBingLocationPush notificationsWindows Live ID
Ваше приложение
A-GPS Accelerometer Light Compass ProximityMedia Wi-Fi Radio Graphics Gyro
SecurityNetworkingStorage
FrameworksSilverlight XNA HTML/JavaScript
CLR (.NET CF)
Hardware
![Page 6: Технический обзор возможностей платформы Windows Phone](https://reader035.vdocuments.net/reader035/viewer/2022062411/568168a7550346895ddf4402/html5/thumbnails/6.jpg)
CloudDevice
Phone EmulatorSamples DocumentationGuides Community
Packaging and Verification Tools
NotificationsLocation Identity Feeds
MapsSocial
App Deployment RegistrationValidation
CertificationPublishing
MarketplaceMO and CC Billing
Business IntelligenceUpdate Management
СервисыTools
Publishing ServicesPlatform Services
Sensors Media DataXbox LIVE Notifications
.NET Framework managed code sandbox
LocationPhone
Runtime
![Page 7: Технический обзор возможностей платформы Windows Phone](https://reader035.vdocuments.net/reader035/viewer/2022062411/568168a7550346895ddf4402/html5/thumbnails/7.jpg)
Инструменты Windows Phone SDK:
Visual Studio 2010 Express Edition Expression Blend 4 for Windows Phone Windows Phone Extensions for XNA Game Studio 4.0 Windows Phone Developer Registration Tool Application Deployment Tool Windows Phone Emulator Performance and Memory Profiler Marketplace Test Kit
http://create.msdn.com
![Page 8: Технический обзор возможностей платформы Windows Phone](https://reader035.vdocuments.net/reader035/viewer/2022062411/568168a7550346895ddf4402/html5/thumbnails/8.jpg)
ВозможностиКамера
Прямой доступ к изображению и вспышке
Фото и видео
Сеть
Сокеты
Информация о соединении
Сенсоры
GPS
Акселерометр
Компас
Гироскоп
Сенсор движения
Данные
SQL CE
Контакты
Календарь
Запуск и Выбор
Bing Maps
Номер телефона
Адрес
Элементы управления
Базовые элементы
Silverlight Toolkit
Еще больше – от сообщества
![Page 9: Технический обзор возможностей платформы Windows Phone](https://reader035.vdocuments.net/reader035/viewer/2022062411/568168a7550346895ddf4402/html5/thumbnails/9.jpg)
Расширение базовых приложенийУведомления
Tile, Toasl, Raw
Deep Toast
Расширения
Search
Music
Photos
Тайлы
Заголовок, текст, обратная сторона
Обновление программно и через веб-сервис
Множественные тайлы
![Page 10: Технический обзор возможностей платформы Windows Phone](https://reader035.vdocuments.net/reader035/viewer/2022062411/568168a7550346895ddf4402/html5/thumbnails/10.jpg)
разработка
![Page 11: Технический обзор возможностей платформы Windows Phone](https://reader035.vdocuments.net/reader035/viewer/2022062411/568168a7550346895ddf4402/html5/thumbnails/11.jpg)
Платформа – 2 типа приложений
Современные приложения, управляемые событ-ми.Быстрое создание богатых графических приложенийHTML/JavascriptУстоявшаяся, надёжная, популярная технология
Высокопроизводительная игровая платформаБыстрое создание многоэкранных 2D и 3D игрБогатая content pipelineУстоявшаяся технология для Xbox, Windows, и Zune / WP7Игры
(и приложения)Приложения
(и игры)
![Page 12: Технический обзор возможностей платформы Windows Phone](https://reader035.vdocuments.net/reader035/viewer/2022062411/568168a7550346895ddf4402/html5/thumbnails/12.jpg)
Silverlight
![Page 13: Технический обзор возможностей платформы Windows Phone](https://reader035.vdocuments.net/reader035/viewer/2022062411/568168a7550346895ddf4402/html5/thumbnails/13.jpg)
Типы проектов
13
![Page 14: Технический обзор возможностей платформы Windows Phone](https://reader035.vdocuments.net/reader035/viewer/2022062411/568168a7550346895ddf4402/html5/thumbnails/14.jpg)
Что такое Silverlightв Windows Phone
XAML .NET CFC#, VB.NET, F#
![Page 15: Технический обзор возможностей платформы Windows Phone](https://reader035.vdocuments.net/reader035/viewer/2022062411/568168a7550346895ddf4402/html5/thumbnails/15.jpg)
XAML Наглядный язык разметки Поддержка включений файлов Полная интеграция в Visual Studio и Expression Blend Code Behind Data Binding Sample Data Storyboards Transform
![Page 16: Технический обзор возможностей платформы Windows Phone](https://reader035.vdocuments.net/reader035/viewer/2022062411/568168a7550346895ddf4402/html5/thumbnails/16.jpg)
Silverlight Controls
![Page 17: Технический обзор возможностей платформы Windows Phone](https://reader035.vdocuments.net/reader035/viewer/2022062411/568168a7550346895ddf4402/html5/thumbnails/17.jpg)
Silverlight Toolkit
![Page 18: Технический обзор возможностей платформы Windows Phone](https://reader035.vdocuments.net/reader035/viewer/2022062411/568168a7550346895ddf4402/html5/thumbnails/18.jpg)
Hub`ы: панорамы и пивоты
![Page 19: Технический обзор возможностей платформы Windows Phone](https://reader035.vdocuments.net/reader035/viewer/2022062411/568168a7550346895ddf4402/html5/thumbnails/19.jpg)
Декомпозиция экрана
App Bar
SIP
App Page
Incoming Call
System TrayNotification
Volume
Direct3D Surface
![Page 20: Технический обзор возможностей платформы Windows Phone](https://reader035.vdocuments.net/reader035/viewer/2022062411/568168a7550346895ddf4402/html5/thumbnails/20.jpg)
Навигация Frame
Контейнер верхнего уровня PhoneApplicationFrame class
Page Управляет содержимым экрана Потомок PhoneApplicationPage
class Кнопка «Назад»
![Page 21: Технический обзор возможностей платформы Windows Phone](https://reader035.vdocuments.net/reader035/viewer/2022062411/568168a7550346895ddf4402/html5/thumbnails/21.jpg)
Ориентация
Можно ограничивать Можно обрабатывать
В большинстве случаев достаточно автоматической обработки
SupportedOrientations="Portrait"
SupportedOrientations="PortraitOrLandscape"
21
![Page 22: Технический обзор возможностей платформы Windows Phone](https://reader035.vdocuments.net/reader035/viewer/2022062411/568168a7550346895ddf4402/html5/thumbnails/22.jpg)
Input Scope
<TextBox InputScope="Number" ...
![Page 23: Технический обзор возможностей платформы Windows Phone](https://reader035.vdocuments.net/reader035/viewer/2022062411/568168a7550346895ddf4402/html5/thumbnails/23.jpg)
Панель приложения до 4х иконок 48х48, ч/б и без круга остальные пункты в
дополнительном меню помните о текущем
контексте приложения
![Page 24: Технический обзор возможностей платформы Windows Phone](https://reader035.vdocuments.net/reader035/viewer/2022062411/568168a7550346895ddf4402/html5/thumbnails/24.jpg)
XNA
![Page 25: Технический обзор возможностей платформы Windows Phone](https://reader035.vdocuments.net/reader035/viewer/2022062411/568168a7550346895ddf4402/html5/thumbnails/25.jpg)
Что может XNA? Мощная математическая библиотека Content Pipeline Работа с 2D графикой Полноценная 3D графика (DirectX 9) Поддержка шейдеров (встроенные) Работа совместно с Silverlight
![Page 26: Технический обзор возможностей платформы Windows Phone](https://reader035.vdocuments.net/reader035/viewer/2022062411/568168a7550346895ddf4402/html5/thumbnails/26.jpg)
Frameworks designed for performance
Производительность
Frameworks designed for performance
Разработаны с требованием
производителностиFrameworks designed
for performanceОпробованный успех
на игровых сценарияхВ будущее WP7 – с
управляемым кодом!
Нет лишней сборки мусора
Оптимизированные мат.библиотеки
API с переходом на нативный код
4+ года профилирования и оптимизации Эффективная работа на WP7
![Page 27: Технический обзор возможностей платформы Windows Phone](https://reader035.vdocuments.net/reader035/viewer/2022062411/568168a7550346895ddf4402/html5/thumbnails/27.jpg)
XNA Framework
Core FrameworkGraphics Audio Input Math Storage
Networking Gamer Services
Extended FrameworkApplication Model Content Pipeline
Игры
Starter KitsВаш код Ваш контент Компоненты
ПлатформаDirectX .NET CF
Networking Gamer Services*
![Page 28: Технический обзор возможностей платформы Windows Phone](https://reader035.vdocuments.net/reader035/viewer/2022062411/568168a7550346895ddf4402/html5/thumbnails/28.jpg)
XNA для разработчика Использует .NET Framework как основу Игры пишутся на C#
Generics LINQ И т.д.
Игры запускаются как управляемый код Безопасное исполнение кода Управление памятью Поддержка Windows, Xbox, Windows Phone 7
![Page 29: Технический обзор возможностей платформы Windows Phone](https://reader035.vdocuments.net/reader035/viewer/2022062411/568168a7550346895ddf4402/html5/thumbnails/29.jpg)
3D Полноценная поддержка 3D на
уровне платформы Аппаратное ускорение для всего,
что нужно и можно ускорять аппаратно
29
![Page 30: Технический обзор возможностей платформы Windows Phone](https://reader035.vdocuments.net/reader035/viewer/2022062411/568168a7550346895ddf4402/html5/thumbnails/30.jpg)
Игровой цикл«Все игры делают это»
Загрузка контентаОбновление состояния сценыОтрисовка сцены
Управление ресурсами – критично на мобильной платформе даже для небольших приложений
Инициализация
Загрузка ресурсов
Освобождение ресурсов
Обработка событий
Вычисление сцены
Определение хода игры
Обратная связь
Типичный игровой цикл
30
![Page 31: Технический обзор возможностей платформы Windows Phone](https://reader035.vdocuments.net/reader035/viewer/2022062411/568168a7550346895ddf4402/html5/thumbnails/31.jpg)
Игровой цикл«Все игры делают это»
Load content when they startUpdate the game worldDraw the game world
XNA: 30 кадров в секунду на Windows Phone
Initialize() LoadContent()
UnloadContent()
Update()
Draw()
Игровой цикл XNA Framework
31
![Page 32: Технический обзор возможностей платформы Windows Phone](https://reader035.vdocuments.net/reader035/viewer/2022062411/568168a7550346895ddf4402/html5/thumbnails/32.jpg)
Пример Game LoopИгровой цикл
protected override void Update(GameTime gameTime){ // Allows the game to exit if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed)
this.Exit();
// TODO: Add your update logic here
base.Update(gameTime);}
protected override void Draw(GameTime gameTime){ GraphicsDevice.Clear(Color.CornflowerBlue);
// TODO: Add your drawing code here
base.Draw(gameTime);}
![Page 33: Технический обзор возможностей платформы Windows Phone](https://reader035.vdocuments.net/reader035/viewer/2022062411/568168a7550346895ddf4402/html5/thumbnails/33.jpg)
Content Pipeline Унифицированная платформа для хранения, обработки и
извлечения игровых ресурсов Набор “importers” для стандартных типов ресурсов
Разработчики могут создавать свои importers Ресурсы хранятся в специальном репозитории
![Page 34: Технический обзор возможностей платформы Windows Phone](https://reader035.vdocuments.net/reader035/viewer/2022062411/568168a7550346895ddf4402/html5/thumbnails/34.jpg)
Типы файлов
Названиеимпортера
Класс импортера
Выходной класс
.bmp, .dds, .dib, .hdr, .jpg, .pfm, .png, .ppm, .tga.
XNA Texture Importer
TextureImporter TextureContent
.fx XNA Effect Importer
EffectImporter EffectContent
.x XNA X File Importer
Ximporter NodeContent
.fbx XNA Autodesk FBX Importer
FbxImporter NodeContent
.xml XNA XML Importer
XmlImporter Object
.xap XNA XACT Project Importer
- -
Content PipelineImporters
![Page 35: Технический обзор возможностей платформы Windows Phone](https://reader035.vdocuments.net/reader035/viewer/2022062411/568168a7550346895ddf4402/html5/thumbnails/35.jpg)
5 эффектов
BasicEffect SkinnedEffect EnvironmentMapEffectAlphaTestEffectDualTextureEffect
![Page 36: Технический обзор возможностей платформы Windows Phone](https://reader035.vdocuments.net/reader035/viewer/2022062411/568168a7550346895ddf4402/html5/thumbnails/36.jpg)
![Page 37: Технический обзор возможностей платформы Windows Phone](https://reader035.vdocuments.net/reader035/viewer/2022062411/568168a7550346895ddf4402/html5/thumbnails/37.jpg)
Windows Phone
Интеграция XNA и Silverlight1. «Обычная» страница2. SharedGraphicsDeviceManager3. UIRenderElement
![Page 38: Технический обзор возможностей платформы Windows Phone](https://reader035.vdocuments.net/reader035/viewer/2022062411/568168a7550346895ddf4402/html5/thumbnails/38.jpg)
Internet Explorer HTML5
![Page 39: Технический обзор возможностей платформы Windows Phone](https://reader035.vdocuments.net/reader035/viewer/2022062411/568168a7550346895ddf4402/html5/thumbnails/39.jpg)
WebBrowser Control – наше все<Grid x:Name="LayoutRoot" Background="Transparent"> <Grid x:Name="ContentPanel"> <phone:WebBrowser IsScriptEnabled="True" IsGeolocationEnabled="True"/> </Grid></Grid>
![Page 40: Технический обзор возможностей платформы Windows Phone](https://reader035.vdocuments.net/reader035/viewer/2022062411/568168a7550346895ddf4402/html5/thumbnails/40.jpg)
3 базовые возможности
Загрузить HTML Вызвать «хост» Выполнить скрипт на странице
![Page 41: Технический обзор возможностей платформы Windows Phone](https://reader035.vdocuments.net/reader035/viewer/2022062411/568168a7550346895ddf4402/html5/thumbnails/41.jpg)
3 базовые возможности
Navigate / NavigateString window.external.Notify WebBrowser.InvokeScript
![Page 43: Технический обзор возможностей платформы Windows Phone](https://reader035.vdocuments.net/reader035/viewer/2022062411/568168a7550346895ddf4402/html5/thumbnails/43.jpg)
PhoneGap
Plugins
![Page 44: Технический обзор возможностей платформы Windows Phone](https://reader035.vdocuments.net/reader035/viewer/2022062411/568168a7550346895ddf4402/html5/thumbnails/44.jpg)
Фреймворки
http://jquerymobile.com/
![Page 45: Технический обзор возможностей платформы Windows Phone](https://reader035.vdocuments.net/reader035/viewer/2022062411/568168a7550346895ddf4402/html5/thumbnails/45.jpg)
jQuery
• Знакомый• Развивающийся• Настраиваемый
![Page 46: Технический обзор возможностей платформы Windows Phone](https://reader035.vdocuments.net/reader035/viewer/2022062411/568168a7550346895ddf4402/html5/thumbnails/46.jpg)
jQuery Mobile + PhoneGap• Работает
• Есть проблемы с
совместимостью разных версийhttp://wiki.phonegap.com/w/page/36868306/UI%20Development%20using%20jQuer
yMobile
![Page 47: Технический обзор возможностей платформы Windows Phone](https://reader035.vdocuments.net/reader035/viewer/2022062411/568168a7550346895ddf4402/html5/thumbnails/47.jpg)
IE9Media & Graphics
HTML5 VideoHTML5 Canvas
SVGHTML5 Audio
Cascading Style Sheets (CSS3)
Background/Borders
2D Transforms
Fonts ModuleMedia Queries
NamespacesColors Module
Values & UnitsSelectors
Additional Standards & Web Applications Support
Traversal & Range
DOM Core Level 2/.3
DOM Events Level 2/3L2 HTML & Style
ECMAScript 5Geolocation
Selector APIs Level 2ICC Color Profiles
XML Parse/Serial
Semantic Elements
DataURIsCSSOM View
![Page 48: Технический обзор возможностей платформы Windows Phone](https://reader035.vdocuments.net/reader035/viewer/2022062411/568168a7550346895ddf4402/html5/thumbnails/48.jpg)
модель исполнения приложений
![Page 49: Технический обзор возможностей платформы Windows Phone](https://reader035.vdocuments.net/reader035/viewer/2022062411/568168a7550346895ddf4402/html5/thumbnails/49.jpg)
Жизненный цикл: состоянияRunning
DormantTumbstoned
в памяти; потоки остановлены,ресурсы освобождены
выгружено из памяти; сохранены специальныесловари
FAS (Fast Application Switching)
![Page 50: Технический обзор возможностей платформы Windows Phone](https://reader035.vdocuments.net/reader035/viewer/2022062411/568168a7550346895ddf4402/html5/thumbnails/50.jpg)
Жизненный цикл: события и методы
Running
Lunching EventApplication
OnNavigateTo MethodPage
OnNavigateFrom Method
Page
Closing EventApplication
Dormant
Deactivated EventApplication
Tumbstoned
Activated EventApplication
![Page 51: Технический обзор возможностей платформы Windows Phone](https://reader035.vdocuments.net/reader035/viewer/2022062411/568168a7550346895ddf4402/html5/thumbnails/51.jpg)
Восстановление состояния Dormant
приложение в памяти потоки остановлены ресурсы освобождены
Tumbstoned приложение не в памяти сохранены специальные словари
PhoneApplicationService.State PhoneApplicationPage.State
![Page 52: Технический обзор возможностей платформы Windows Phone](https://reader035.vdocuments.net/reader035/viewer/2022062411/568168a7550346895ddf4402/html5/thumbnails/52.jpg)
Демосохранение и восстановление состояния
![Page 53: Технический обзор возможностей платформы Windows Phone](https://reader035.vdocuments.net/reader035/viewer/2022062411/568168a7550346895ddf4402/html5/thumbnails/53.jpg)
многозадачность
![Page 54: Технический обзор возможностей платформы Windows Phone](https://reader035.vdocuments.net/reader035/viewer/2022062411/568168a7550346895ddf4402/html5/thumbnails/54.jpg)
Подходы к многозадачности «Честная» и прожорливая- Работаем, пока можем- Система сложных правил выгрузки приложений
Desktop, Windows Mobile, Android
Мнимая и экономная- Приложение выгружается при деактивации UI- Ключевой фактор – сохранение состояния
Ранние iPhone, Windows Phone 7
![Page 55: Технический обзор возможностей платформы Windows Phone](https://reader035.vdocuments.net/reader035/viewer/2022062411/568168a7550346895ddf4402/html5/thumbnails/55.jpg)
Подходы к многозадачности Умная-Похожа на мнимую-Фоновые агенты
iPhone 4, Windows Phone codename “Mango”-Возможны уведомления из агентов в приложения
![Page 56: Технический обзор возможностей платформы Windows Phone](https://reader035.vdocuments.net/reader035/viewer/2022062411/568168a7550346895ddf4402/html5/thumbnails/56.jpg)
Жизненный цикл: состоянияRunning
DormantTumbstoned
в памяти; потоки остановлены,ресурсы освобождены
выгружено из памяти; сохранены специальныесловари
FAS (Fast Application Switching)
![Page 57: Технический обзор возможностей платформы Windows Phone](https://reader035.vdocuments.net/reader035/viewer/2022062411/568168a7550346895ddf4402/html5/thumbnails/57.jpg)
Fast Application Switching• Мультизадачность• Быстрое переключение• Быстрое восстановление
![Page 58: Технический обзор возможностей платформы Windows Phone](https://reader035.vdocuments.net/reader035/viewer/2022062411/568168a7550346895ddf4402/html5/thumbnails/58.jpg)
Другие варианты?Задача РеализацияПереключение задач пользователем
Fast App Switching
Уведомления и сигналы Background Notification
Загрузка фалов Background Transfer
Уведомления о событиях Push Notifications
Регулярные действия по расписанию; toast/tile updates; data pre-caching; etc.
Periodic Background Agent
Проигрывание музыки Background Audio Player
Синхронизация данных Resource-Intensive AgentGPS-tracking Run under the lock screen
![Page 59: Технический обзор возможностей платформы Windows Phone](https://reader035.vdocuments.net/reader035/viewer/2022062411/568168a7550346895ddf4402/html5/thumbnails/59.jpg)
Background Notification Serviceusing Microsoft.Phone.Scheduler;
private void AddReminder(object sender, RoutedEventArgs e){ Reminder reminder = new Reminder("CompanyMeeting"); reminder.BeginTime = DateTime.Now.AddSeconds(15); reminder.Content = "Soccer Fields by The Commons"; reminder.Title = "Microsoft Annual Company Product Fair 2009"; reminder.RecurrenceType = RecurrenceInterval.Yearly; reminder.NavigationUri = new Uri("/Reminder.xaml", UriKind.Relative);
ScheduledActionService.Add(reminder);}
AlarmsRemindersusing Microsoft.Phone.Scheduler;
private void AddAlarm(object sender, RoutedEventArgs e){ Alarm alarm = new Alarm("Long Day"); alarm.BeginTime = DateTime.Now.AddSeconds(15); alarm.Content = "It's been a long day. Go to bed."; alarm.Title = "Alarm";
ScheduledActionService.Add(alarm);}
![Page 60: Технический обзор возможностей платформы Windows Phone](https://reader035.vdocuments.net/reader035/viewer/2022062411/568168a7550346895ddf4402/html5/thumbnails/60.jpg)
Демоnotifications
![Page 61: Технический обзор возможностей платформы Windows Phone](https://reader035.vdocuments.net/reader035/viewer/2022062411/568168a7550346895ddf4402/html5/thumbnails/61.jpg)
Background Transfer Service
downloadsMy WP Book App
Cheese & WinGreat MysterieWP Tips & Tric
Great Mysteries o
CloudBackground Transfer Service <2 GB
<20 MB
<~3.0 MB
GET
POST
void DownloadWithBTS(Uri sourceUri, Uri destinationPath){ btr = new BackgroundTransferRequest(sourceUri, destinationUri); btr.TransferStatusChanged += BtsStatusChanged; btr.TransferProgressChanged += BtsProgressChanged; BackgroundTransferService.Add(btr);}
void BtsProgressChanged(object sender, BackgroundTransferEventArgs e){
DrawProgressBar(e.Request.BytesReceived);
}
using Microsoft.Phone.BackgroundTransfer;
void GetCurrentProgress(){ DrawProgressBar(btr.BytesReceived);}
completed
My WPBook App
ISO Store
![Page 62: Технический обзор возможностей платформы Windows Phone](https://reader035.vdocuments.net/reader035/viewer/2022062411/568168a7550346895ddf4402/html5/thumbnails/62.jpg)
Демоbackground file transfer
![Page 63: Технический обзор возможностей платформы Windows Phone](https://reader035.vdocuments.net/reader035/viewer/2022062411/568168a7550346895ddf4402/html5/thumbnails/63.jpg)
Background Audio – HTML5
CloudBrowser
www.html5audio.
<audio id="audio_tag" controls="controls" src="http://html5audio.com/Demo1.mp3" onplay="StartPlayback()" onended="NextTrack()"</audio>
Zune Service
function NextTrack() { musicPlayer = document.getElementById("audio_tag"); musicPlayer.src = 'http://html5audio.com/Demo2.mp3'; }
++
![Page 64: Технический обзор возможностей платформы Windows Phone](https://reader035.vdocuments.net/reader035/viewer/2022062411/568168a7550346895ddf4402/html5/thumbnails/64.jpg)
Демоhtml5 audio
![Page 65: Технический обзор возможностей платформы Windows Phone](https://reader035.vdocuments.net/reader035/viewer/2022062411/568168a7550346895ddf4402/html5/thumbnails/65.jpg)
Background Audio – По URL
current
Ode to WPBy MSFTMan
0:09
fav0:100:110:12
Player = BackgroundAudioPlayer.Instance;player.PlayStateChanged += new eventHandler(PlayStateChanged);
AudioTrack track = new AudioTrack(new Uri("/audiofile.mp3"),…);
void PlayStateChanged(object sender, EventArgs e){ switch (player.PlayerState) { case PlayState.FastForwarding: // Move to next track break; }}
CloudZune ServiceMy Music
App
ISO Store
player.Play();
++
++Buffer
Buffer
Background Audio – Streaming
![Page 66: Технический обзор возможностей платформы Windows Phone](https://reader035.vdocuments.net/reader035/viewer/2022062411/568168a7550346895ddf4402/html5/thumbnails/66.jpg)
Демоbackground audio agent
![Page 67: Технический обзор возможностей платформы Windows Phone](https://reader035.vdocuments.net/reader035/viewer/2022062411/568168a7550346895ddf4402/html5/thumbnails/67.jpg)
Приложения + Агенты
Системные
сервисыISO StoreCloud
Разные процесс
ы
LogicUX
myapp.dllПриложение ОС
Logicmyappagent.
dll
Единое приложени
е
Разработка
![Page 68: Технический обзор возможностей платформы Windows Phone](https://reader035.vdocuments.net/reader035/viewer/2022062411/568168a7550346895ddf4402/html5/thumbnails/68.jpg)
Жизненный цикл агента
Создан Работает
Нечего делать
Неактивен
Приоста-
новлен
«Убит»Ошибка!
stoppingАгенту пришло
время поработать
Система вызывает код
агентаОтсутствие работы
- NotifyCompleteАгенту больше нечего делать
Система приостанавлива
ет агент, а возможно, и
убивает
Фатальная ошибка: Abort() и
«убийство»
Если системе необходимо завершить
агента: OnCancel(); агент должен быстро
завершить работу
Агенты могут быть «убиты» из-за
нехватки ресурсов
Приостановленные агенты могут быть
выгружены
![Page 69: Технический обзор возможностей платформы Windows Phone](https://reader035.vdocuments.net/reader035/viewer/2022062411/568168a7550346895ddf4402/html5/thumbnails/69.jpg)
Агенты: общие правила Метод выполнения
Периодически On Idle Можно комбинировать
Инициализируются всегда приложением Сохраняют состояние между перезагрузками
Управляемы через настройки До 18 агентов
Агент «живет» не более 14 дней (но можно делать renew)
![Page 70: Технический обзор возможностей платформы Windows Phone](https://reader035.vdocuments.net/reader035/viewer/2022062411/568168a7550346895ddf4402/html5/thumbnails/70.jpg)
Агенты: общие правилаПериодические агенты Выполнение
Каждые 30 минут Длительность
15 секунд Сценарии
Синхронизация данных
Трекинг местоположения
…
On Idle агенты Выполнение
Внешнее питание, Wi-Fi или USB
Длительность 10 минут
Сценарии Загрузка данных Синхронизация больших
объемов …
![Page 71: Технический обзор возможностей платформы Windows Phone](https://reader035.vdocuments.net/reader035/viewer/2022062411/568168a7550346895ddf4402/html5/thumbnails/71.jpg)
Демоbackground agents
![Page 72: Технический обзор возможностей платформы Windows Phone](https://reader035.vdocuments.net/reader035/viewer/2022062411/568168a7550346895ddf4402/html5/thumbnails/72.jpg)
использование возможностей платформы
![Page 73: Технический обзор возможностей платформы Windows Phone](https://reader035.vdocuments.net/reader035/viewer/2022062411/568168a7550346895ddf4402/html5/thumbnails/73.jpg)
ИнтеграцияКамера
Захват видео
«Прямой» доступ к камере и вспышке
Networking
Сокеты
HTTP
Сенсоры
GPS
Accelerometer
Compass
Gyro
Motion
Data
SQL CE
Phone Contacts
Phone Calendar
Launchers & Choosers
Bing Maps
Phone Number
Address Chooser
![Page 74: Технический обзор возможностей платформы Windows Phone](https://reader035.vdocuments.net/reader035/viewer/2022062411/568168a7550346895ddf4402/html5/thumbnails/74.jpg)
Демовозможности платформыlaunchers & choosers
![Page 75: Технический обзор возможностей платформы Windows Phone](https://reader035.vdocuments.net/reader035/viewer/2022062411/568168a7550346895ddf4402/html5/thumbnails/75.jpg)
Доступ к пользовательским данным Chooser Tasks
EmailAddressChooserTask PhoneNumberChooserTask AddressChooserTask
Microsoft.Phone.UserData для прямого доступа Contacts Appointments
![Page 76: Технический обзор возможностей платформы Windows Phone](https://reader035.vdocuments.net/reader035/viewer/2022062411/568168a7550346895ddf4402/html5/thumbnails/76.jpg)
Демопрямой доступ к контактам и встречам
![Page 77: Технический обзор возможностей платформы Windows Phone](https://reader035.vdocuments.net/reader035/viewer/2022062411/568168a7550346895ddf4402/html5/thumbnails/77.jpg)
Расширения
Push Notifications
App Connect
Search
Music
Photos
Тайлы
![Page 78: Технический обзор возможностей платформы Windows Phone](https://reader035.vdocuments.net/reader035/viewer/2022062411/568168a7550346895ddf4402/html5/thumbnails/78.jpg)
Демовозможности платформыlive tiles
![Page 79: Технический обзор возможностей платформы Windows Phone](https://reader035.vdocuments.net/reader035/viewer/2022062411/568168a7550346895ddf4402/html5/thumbnails/79.jpg)
Push Notifications Raw Tile Toast
Deep Toast Связь уведомлений и страниц приложения страницами
<wp:Notification xmlns:wp="WPNotification">
<wp:Toast>
<wp:Text1>World News Updates</wp:Text1> <wp:Text2>Egypt braces for march in palace square</wp:Text2> <wp:Param>/detailsPage.xaml?storyid=186435</wp:Param> </wp:Toast>
</wp:Notification>
![Page 80: Технический обзор возможностей платформы Windows Phone](https://reader035.vdocuments.net/reader035/viewer/2022062411/568168a7550346895ddf4402/html5/thumbnails/80.jpg)
Демовозможности платформыpush notification
![Page 81: Технический обзор возможностей платформы Windows Phone](https://reader035.vdocuments.net/reader035/viewer/2022062411/568168a7550346895ddf4402/html5/thumbnails/81.jpg)
Локальное хранилищеIsolated StorageПриложения хранят данные в Isolated Storage неструктурированные данные Обычные файлы и папки Настройки
Настройки
AppУправление
файлами
Файлы приложения
App Data Folder
WP7 Isolated Storage APIs
![Page 82: Технический обзор возможностей платформы Windows Phone](https://reader035.vdocuments.net/reader035/viewer/2022062411/568168a7550346895ddf4402/html5/thumbnails/82.jpg)
Демовозможности платформыWebClient &IsolatedStorage
![Page 83: Технический обзор возможностей платформы Windows Phone](https://reader035.vdocuments.net/reader035/viewer/2022062411/568168a7550346895ddf4402/html5/thumbnails/83.jpg)
Локальное хранилищеБаза данных
ПриложениеCustom
Data Context
App Objects
System.Data.Linq
Identity Manageme
ntChange Tracking
Update Processing
Object Materializatio
n
Microsoft.Phone.Data.Internal
Core ADO.NET (System.Data)SQLCE ADO.NET Provider
(System.Data.SqlServerCe)
SQL CE DB
.Call System.Linq.Queryable.Select( .Call System.Linq.Queryable.Where( .Constant(Table(Wines)), '(.Lambda #Lambda1)), '(.Lambda #Lambda2)) .Lambda #Lambda1(db.Wines $w) { $w.Country == “USA" } .Lambda #Lambda2(w.Country $w) { $w.Name }
var query = from w in db.Wines where w.Country == “USA" select w.Name;
select Namefrom Wineswhere Country = “USA”
![Page 84: Технический обзор возможностей платформы Windows Phone](https://reader035.vdocuments.net/reader035/viewer/2022062411/568168a7550346895ddf4402/html5/thumbnails/84.jpg)
Демовозможности платформыSQL CE
![Page 85: Технический обзор возможностей платформы Windows Phone](https://reader035.vdocuments.net/reader035/viewer/2022062411/568168a7550346895ddf4402/html5/thumbnails/85.jpg)
Геолокация Отдаёт географические координаты, высоту, скорость и направление
при инициализации можно указать стандартная или высокая точность
GeoCoordinateWatcher myGeoWatcher = new GeoCoordinateWatcher(); myGeoWatcher.MovementThreshold = 100.0f;
myGeoWatcher.StatusChanged += new EventHandler<GeoPositionStatusChangedEventArgs>(…); myGeoWatcher.PositionChanged += new EventHandler<GeoPositionChangedEventArgs<GeoCoordinate>>(…);
ThreadPool.QueueUserWorkItem(startMyGeoWotcher, myGeoWatcher);. . . . static void startMyGeoWotcher(object GeoWatcher) { ((GeoCoordinateWatcher)GeoWatcher).TryStart(false, TimeSpan.FromSeconds(60)); }
![Page 86: Технический обзор возможностей платформы Windows Phone](https://reader035.vdocuments.net/reader035/viewer/2022062411/568168a7550346895ddf4402/html5/thumbnails/86.jpg)
Акселерометр Отдаёт вектор ускорения устройства в гравитационных единицах
включает гравитацию сориентирован относительно устройства
Accelerometer myAccel = new Accelerometer(); myAccel.CurrentValueChanged += new EventHandler<SensorReadingEventArgs<AccelerometerReading>>(…);
myAccel.Start();
![Page 87: Технический обзор возможностей платформы Windows Phone](https://reader035.vdocuments.net/reader035/viewer/2022062411/568168a7550346895ddf4402/html5/thumbnails/87.jpg)
Гироскоп Скорость вращения устройства вокруг каждой из осей
в радианах/сек
Gyroscope myGyro = new Gyroscope(); myGyro.CurrentValueChanged += new EventHandler<SensorReadingEventArgs<GyroscopeReading>>(…);
myGyro.Start();
![Page 88: Технический обзор возможностей платформы Windows Phone](https://reader035.vdocuments.net/reader035/viewer/2022062411/568168a7550346895ddf4402/html5/thumbnails/88.jpg)
Компас (магнитометр) Точность измерения в градусах Направление на магнитный полюс (в градусах, против часовой стрелки) Направление на географический полюс (в градусах, против часовой стрелки) Данные магнитометра в виде вектора в микротеслах
Compass myCompass = new Compass(); myCompass.CurrentValueChanged += new EventHandler<SensorReadingEventArgs<CompassReading>>(…);
myCompass.Start();
![Page 89: Технический обзор возможностей платформы Windows Phone](https://reader035.vdocuments.net/reader035/viewer/2022062411/568168a7550346895ddf4402/html5/thumbnails/89.jpg)
ДемоИспользование геолокационных данных, акселерометра и карты
![Page 90: Технический обзор возможностей платформы Windows Phone](https://reader035.vdocuments.net/reader035/viewer/2022062411/568168a7550346895ddf4402/html5/thumbnails/90.jpg)
Motion sensor
Motion Sensor
[cos γ .cos α −cos β .sin α+sin β .sin γ .cosα sin β . sin α +cos β . sin γ . cos α
cos γ . sin α cos β .cos α+ sin β . sin γ .sin α − sin β .cos α+cos β . sin γ .sin α
− sin γ sin β .cos γ cos β .sin γ ] Акселерометр
Компас
Гироскоп
![Page 91: Технический обзор возможностей платформы Windows Phone](https://reader035.vdocuments.net/reader035/viewer/2022062411/568168a7550346895ddf4402/html5/thumbnails/91.jpg)
Windows Phone
Поддержка motion sensor Motion.IsSupported
API доступно и без гиросокопа Специфичные данные для каждого физического
сенсора Accelerometer (g) Gyro (рад/сек) Compass (градусы)
![Page 92: Технический обзор возможностей платформы Windows Phone](https://reader035.vdocuments.net/reader035/viewer/2022062411/568168a7550346895ddf4402/html5/thumbnails/92.jpg)
Camera APISilverlight 4 WebCam APIПростая запись видеоМожно использовать существующий кодЗапись аудио и видео в файл
PhotoCameraФотоКнопки камерыВспышка и фокус
![Page 93: Технический обзор возможностей платформы Windows Phone](https://reader035.vdocuments.net/reader035/viewer/2022062411/568168a7550346895ddf4402/html5/thumbnails/93.jpg)
ДемоИспользование камеры
![Page 94: Технический обзор возможностей платформы Windows Phone](https://reader035.vdocuments.net/reader035/viewer/2022062411/568168a7550346895ddf4402/html5/thumbnails/94.jpg)
ресурсы
![Page 95: Технический обзор возможностей платформы Windows Phone](https://reader035.vdocuments.net/reader035/viewer/2022062411/568168a7550346895ddf4402/html5/thumbnails/95.jpg)
С чего начать http://create.msdn.com
http://go.microsoft.com/?linkid=9772716 http://msdn.microsoft.com/ru-ru/windowsphone/
http://www.techdays.ru/?Tag=Windows Phone 7 http://windowsteamblog.com/windows_phone/ http://aka.ms/ruwp7dev - презентация и примеры
![Page 96: Технический обзор возможностей платформы Windows Phone](https://reader035.vdocuments.net/reader035/viewer/2022062411/568168a7550346895ddf4402/html5/thumbnails/96.jpg)
спасибо
![Page 97: Технический обзор возможностей платформы Windows Phone](https://reader035.vdocuments.net/reader035/viewer/2022062411/568168a7550346895ddf4402/html5/thumbnails/97.jpg)
© 2011 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.
The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.