Использование возможностей платформы windows phone
TRANSCRIPT
![Page 1: Использование возможностей платформы WIndows Phone](https://reader033.vdocuments.us/reader033/viewer/2022052900/555a81bfd8b42a98568b4e0d/html5/thumbnails/1.jpg)
Nokia Internal Use Only
![Page 2: Использование возможностей платформы WIndows Phone](https://reader033.vdocuments.us/reader033/viewer/2022052900/555a81bfd8b42a98568b4e0d/html5/thumbnails/2.jpg)
Использование возможностей платформы Windows Phone
Стас Павлов Эксперт по технологиям разработки ПО [email protected] @stasus
![Page 3: Использование возможностей платформы WIndows Phone](https://reader033.vdocuments.us/reader033/viewer/2022052900/555a81bfd8b42a98568b4e0d/html5/thumbnails/3.jpg)
Nokia Internal Use Only
платформа Windows Phone 7.5
![Page 4: Использование возможностей платформы WIndows Phone](https://reader033.vdocuments.us/reader033/viewer/2022052900/555a81bfd8b42a98568b4e0d/html5/thumbnails/4.jpg)
Nokia Internal Use Only
модель исполнения
приложений
![Page 5: Использование возможностей платформы WIndows Phone](https://reader033.vdocuments.us/reader033/viewer/2022052900/555a81bfd8b42a98568b4e0d/html5/thumbnails/5.jpg)
Nokia Internal Use Only
Жизненный цикл: состояния
Running
Dormant Tumbstoned в памяти;
потоки остановлены,
ресурсы освобождены
выгружено из памяти;
сохранены специальные
словари
FAS (Fast Application Switching)
![Page 6: Использование возможностей платформы WIndows Phone](https://reader033.vdocuments.us/reader033/viewer/2022052900/555a81bfd8b42a98568b4e0d/html5/thumbnails/6.jpg)
Nokia Internal Use Only
Жизненный цикл: события и методы
Runnin
g
Lunching Event Application
OnNavigateTo Method Page
OnNavigateFrom Method Page
Closing Event Application
Dormant
Deactivated Event Application
Tumbstoned
Activated Event Application
![Page 7: Использование возможностей платформы WIndows Phone](https://reader033.vdocuments.us/reader033/viewer/2022052900/555a81bfd8b42a98568b4e0d/html5/thumbnails/7.jpg)
Nokia Internal Use Only
Восстановление состояния
Dormant
приложение в памяти
потоки остановлены
ресурсы освобождены
Tumbstoned
приложение не в памяти
сохранены специальные словари
PhoneApplicationService.State
PhoneApplicationPage.State
![Page 8: Использование возможностей платформы WIndows Phone](https://reader033.vdocuments.us/reader033/viewer/2022052900/555a81bfd8b42a98568b4e0d/html5/thumbnails/8.jpg)
Nokia Internal Use Only
Демо
сохранение и
восстановление
состояния
![Page 9: Использование возможностей платформы WIndows Phone](https://reader033.vdocuments.us/reader033/viewer/2022052900/555a81bfd8b42a98568b4e0d/html5/thumbnails/9.jpg)
Nokia Internal Use Only
многозадачность
![Page 10: Использование возможностей платформы WIndows Phone](https://reader033.vdocuments.us/reader033/viewer/2022052900/555a81bfd8b42a98568b4e0d/html5/thumbnails/10.jpg)
Nokia Internal Use Only
Подходы к многозадачности
«Честная» и прожорливая - Работаем, пока можем
- Система сложных правил выгрузки приложений
Desktop, Windows Mobile, Android
Мнимая и экономная - Приложение выгружается при деактивации UI
- Ключевой фактор – сохранение состояния
Ранние iPhone, Windows Phone 7
![Page 11: Использование возможностей платформы WIndows Phone](https://reader033.vdocuments.us/reader033/viewer/2022052900/555a81bfd8b42a98568b4e0d/html5/thumbnails/11.jpg)
Nokia Internal Use Only
Подходы к многозадачности
Умная - Похожа на мнимую
- Фоновые агенты
iPhone 4, Windows Phone codename “Mango”
- Возможны уведомления из агентов в приложения
![Page 12: Использование возможностей платформы WIndows Phone](https://reader033.vdocuments.us/reader033/viewer/2022052900/555a81bfd8b42a98568b4e0d/html5/thumbnails/12.jpg)
Nokia Internal Use Only
Жизненный цикл: состояния
Running
Dormant Tumbstoned в памяти;
потоки остановлены,
ресурсы освобождены
выгружено из памяти;
сохранены специальные
словари
FAS (Fast Application Switching)
![Page 13: Использование возможностей платформы WIndows Phone](https://reader033.vdocuments.us/reader033/viewer/2022052900/555a81bfd8b42a98568b4e0d/html5/thumbnails/13.jpg)
Nokia Internal Use Only
Fast Application Switching
![Page 14: Использование возможностей платформы WIndows Phone](https://reader033.vdocuments.us/reader033/viewer/2022052900/555a81bfd8b42a98568b4e0d/html5/thumbnails/14.jpg)
Nokia Internal Use Only
Другие варианты?
Задача Реализация
Переключение задач пользователем Fast App Switching
Уведомления и сигналы Background Notification
Загрузка фалов Background Transfer
Уведомления о событиях Push Notifications
Регулярные действия по расписанию;
toast/tile updates; data pre-caching; etc.
Periodic Background Agent
Проигрывание музыки Background Audio Player
Синхронизация данных Resource-Intensive Agent
GPS-tracking Run under the lock screen
![Page 15: Использование возможностей платформы WIndows Phone](https://reader033.vdocuments.us/reader033/viewer/2022052900/555a81bfd8b42a98568b4e0d/html5/thumbnails/15.jpg)
Nokia Internal Use Only
![Page 16: Использование возможностей платформы WIndows Phone](https://reader033.vdocuments.us/reader033/viewer/2022052900/555a81bfd8b42a98568b4e0d/html5/thumbnails/16.jpg)
Nokia Internal Use Only
![Page 17: Использование возможностей платформы WIndows Phone](https://reader033.vdocuments.us/reader033/viewer/2022052900/555a81bfd8b42a98568b4e0d/html5/thumbnails/17.jpg)
Nokia Internal Use Only
Демо
notifications
![Page 18: Использование возможностей платформы WIndows Phone](https://reader033.vdocuments.us/reader033/viewer/2022052900/555a81bfd8b42a98568b4e0d/html5/thumbnails/18.jpg)
Nokia Internal Use Only
![Page 19: Использование возможностей платформы WIndows Phone](https://reader033.vdocuments.us/reader033/viewer/2022052900/555a81bfd8b42a98568b4e0d/html5/thumbnails/19.jpg)
Nokia Internal Use Only
![Page 20: Использование возможностей платформы WIndows Phone](https://reader033.vdocuments.us/reader033/viewer/2022052900/555a81bfd8b42a98568b4e0d/html5/thumbnails/20.jpg)
Nokia Internal Use Only
Демо background file transfer
![Page 21: Использование возможностей платформы WIndows Phone](https://reader033.vdocuments.us/reader033/viewer/2022052900/555a81bfd8b42a98568b4e0d/html5/thumbnails/21.jpg)
Nokia Internal Use Only
Background Audio – HTML5
Cloud
Browser 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 22: Использование возможностей платформы WIndows Phone](https://reader033.vdocuments.us/reader033/viewer/2022052900/555a81bfd8b42a98568b4e0d/html5/thumbnails/22.jpg)
Nokia Internal Use Only
Демо
html5 audio
![Page 23: Использование возможностей платформы WIndows Phone](https://reader033.vdocuments.us/reader033/viewer/2022052900/555a81bfd8b42a98568b4e0d/html5/thumbnails/23.jpg)
Nokia Internal Use Only
![Page 24: Использование возможностей платформы WIndows Phone](https://reader033.vdocuments.us/reader033/viewer/2022052900/555a81bfd8b42a98568b4e0d/html5/thumbnails/24.jpg)
Nokia Internal Use Only
![Page 25: Использование возможностей платформы WIndows Phone](https://reader033.vdocuments.us/reader033/viewer/2022052900/555a81bfd8b42a98568b4e0d/html5/thumbnails/25.jpg)
Nokia Internal Use Only
Демо background audio agent
![Page 26: Использование возможностей платформы WIndows Phone](https://reader033.vdocuments.us/reader033/viewer/2022052900/555a81bfd8b42a98568b4e0d/html5/thumbnails/26.jpg)
Nokia Internal Use Only
![Page 27: Использование возможностей платформы WIndows Phone](https://reader033.vdocuments.us/reader033/viewer/2022052900/555a81bfd8b42a98568b4e0d/html5/thumbnails/27.jpg)
Nokia Internal Use Only
![Page 28: Использование возможностей платформы WIndows Phone](https://reader033.vdocuments.us/reader033/viewer/2022052900/555a81bfd8b42a98568b4e0d/html5/thumbnails/28.jpg)
Nokia Internal Use Only
![Page 29: Использование возможностей платформы WIndows Phone](https://reader033.vdocuments.us/reader033/viewer/2022052900/555a81bfd8b42a98568b4e0d/html5/thumbnails/29.jpg)
Nokia Internal Use Only
![Page 30: Использование возможностей платформы WIndows Phone](https://reader033.vdocuments.us/reader033/viewer/2022052900/555a81bfd8b42a98568b4e0d/html5/thumbnails/30.jpg)
Nokia Internal Use Only
Агенты: общие правила
![Page 31: Использование возможностей платформы WIndows Phone](https://reader033.vdocuments.us/reader033/viewer/2022052900/555a81bfd8b42a98568b4e0d/html5/thumbnails/31.jpg)
Nokia Internal Use Only
Агенты: общие правила
Периодические агенты
Выполнение
Каждые 30 минут
Длительность
15 секунд
Сценарии
Синхронизация данных
Трекинг
местоположения
…
On Idle агенты
Выполнение
Внешнее питание, Wi-Fi или
USB
Длительность
10 минут
Сценарии
Загрузка данных
Синхронизация больших
объемов
…
![Page 32: Использование возможностей платформы WIndows Phone](https://reader033.vdocuments.us/reader033/viewer/2022052900/555a81bfd8b42a98568b4e0d/html5/thumbnails/32.jpg)
Nokia Internal Use Only
Демо
background agents
![Page 33: Использование возможностей платформы WIndows Phone](https://reader033.vdocuments.us/reader033/viewer/2022052900/555a81bfd8b42a98568b4e0d/html5/thumbnails/33.jpg)
Nokia Internal Use Only
использование
возможностей
платформы
![Page 34: Использование возможностей платформы WIndows Phone](https://reader033.vdocuments.us/reader033/viewer/2022052900/555a81bfd8b42a98568b4e0d/html5/thumbnails/34.jpg)
Nokia Internal Use Only
Интеграция
Камера
Захват видео
«Прямой»
доступ к
камере и
вспышке
Networking
Сокеты
HTTP
Сенсоры
GPS
Accelerometer
Compass
Gyro
Motion
Data
SQL CE
Phone Contacts
Phone Calendar
Launchers
& Choosers
Bing Maps
Phone Number
Address
Chooser
![Page 35: Использование возможностей платформы WIndows Phone](https://reader033.vdocuments.us/reader033/viewer/2022052900/555a81bfd8b42a98568b4e0d/html5/thumbnails/35.jpg)
Nokia Internal Use Only
Демо возможности
платформы
launchers & choosers
![Page 36: Использование возможностей платформы WIndows Phone](https://reader033.vdocuments.us/reader033/viewer/2022052900/555a81bfd8b42a98568b4e0d/html5/thumbnails/36.jpg)
Nokia Internal Use Only
Доступ к пользовательским данным
Chooser Tasks
EmailAddressChooserTask
PhoneNumberChooserTask
AddressChooserTask
Microsoft.Phone.UserData для прямого доступа
Contacts
Appointments
![Page 37: Использование возможностей платформы WIndows Phone](https://reader033.vdocuments.us/reader033/viewer/2022052900/555a81bfd8b42a98568b4e0d/html5/thumbnails/37.jpg)
Nokia Internal Use Only
Демо
прямой
доступ к контактам
и встречам
![Page 38: Использование возможностей платформы WIndows Phone](https://reader033.vdocuments.us/reader033/viewer/2022052900/555a81bfd8b42a98568b4e0d/html5/thumbnails/38.jpg)
Nokia Internal Use Only
Расширения
Push Notifications
App Connect
Search
Music
Photos
Тайлы
![Page 39: Использование возможностей платформы WIndows Phone](https://reader033.vdocuments.us/reader033/viewer/2022052900/555a81bfd8b42a98568b4e0d/html5/thumbnails/39.jpg)
Nokia Internal Use Only
Демо
возможности
платформы
live tiles
![Page 40: Использование возможностей платформы WIndows Phone](https://reader033.vdocuments.us/reader033/viewer/2022052900/555a81bfd8b42a98568b4e0d/html5/thumbnails/40.jpg)
Nokia Internal Use Only
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 41: Использование возможностей платформы WIndows Phone](https://reader033.vdocuments.us/reader033/viewer/2022052900/555a81bfd8b42a98568b4e0d/html5/thumbnails/41.jpg)
Nokia Internal Use Only
Демо
возможности
платформы
push notification
![Page 42: Использование возможностей платформы WIndows Phone](https://reader033.vdocuments.us/reader033/viewer/2022052900/555a81bfd8b42a98568b4e0d/html5/thumbnails/42.jpg)
Nokia Internal Use Only
Локальное хранилище Isolated Storage
Приложения хранят данные в Isolated Storage неструктурированные данные
Обычные файлы и папки
Настройки
Настройки
App Управление
файлами
Файлы
приложения
App Data Folder
WP7 Isolated
Storage APIs
![Page 43: Использование возможностей платформы WIndows Phone](https://reader033.vdocuments.us/reader033/viewer/2022052900/555a81bfd8b42a98568b4e0d/html5/thumbnails/43.jpg)
Nokia Internal Use Only
Демо
возможности
платформы
WebClient &
IsolatedStorage
![Page 44: Использование возможностей платформы WIndows Phone](https://reader033.vdocuments.us/reader033/viewer/2022052900/555a81bfd8b42a98568b4e0d/html5/thumbnails/44.jpg)
Nokia Internal Use Only
Локальное хранилище База данных
Custom Data
Context
App
Objects
Identity
Management
Change
Tracking
Update
Processing
Object
Materialization
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 Name
from Wines
where Country = “USA”
![Page 45: Использование возможностей платформы WIndows Phone](https://reader033.vdocuments.us/reader033/viewer/2022052900/555a81bfd8b42a98568b4e0d/html5/thumbnails/45.jpg)
Nokia Internal Use Only
Демо
возможности
платформы
SQL CE
![Page 46: Использование возможностей платформы WIndows Phone](https://reader033.vdocuments.us/reader033/viewer/2022052900/555a81bfd8b42a98568b4e0d/html5/thumbnails/46.jpg)
Nokia Internal Use Only
Геолокация
Отдаёт географические координаты, высоту, скорость и направление
при инициализации можно указать стандартная или высокая точность
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 47: Использование возможностей платформы WIndows Phone](https://reader033.vdocuments.us/reader033/viewer/2022052900/555a81bfd8b42a98568b4e0d/html5/thumbnails/47.jpg)
Nokia Internal Use Only
Акселерометр
Отдаёт вектор ускорения устройства в гравитационных единицах
включает гравитацию
сориентирован относительно устройства
Accelerometer myAccel = new Accelerometer();
myAccel.CurrentValueChanged += new EventHandler<SensorReadingEventArgs<AccelerometerReading>>(…);
myAccel.Start();
![Page 48: Использование возможностей платформы WIndows Phone](https://reader033.vdocuments.us/reader033/viewer/2022052900/555a81bfd8b42a98568b4e0d/html5/thumbnails/48.jpg)
Nokia Internal Use Only
Гироскоп
Скорость вращения устройства вокруг каждой из осей
в радианах/сек
Gyroscope myGyro = new Gyroscope();
myGyro.CurrentValueChanged += new EventHandler<SensorReadingEventArgs<GyroscopeReading>>(…);
myGyro.Start();
![Page 49: Использование возможностей платформы WIndows Phone](https://reader033.vdocuments.us/reader033/viewer/2022052900/555a81bfd8b42a98568b4e0d/html5/thumbnails/49.jpg)
Nokia Internal Use Only
Компас (магнитометр)
Точность измерения в градусах
Направление на магнитный полюс (в градусах, против часовой стрелки)
Направление на географический полюс (в градусах, против часовой стрелки)
Данные магнитометра в виде вектора в микротеслах
Compass myCompass = new Compass();
myCompass.CurrentValueChanged += new EventHandler<SensorReadingEventArgs<CompassReading>>(…);
myCompass.Start();
![Page 50: Использование возможностей платформы WIndows Phone](https://reader033.vdocuments.us/reader033/viewer/2022052900/555a81bfd8b42a98568b4e0d/html5/thumbnails/50.jpg)
Nokia Internal Use Only
Демо
Использование
геолокационных
данных, акселерометра
и карты
![Page 51: Использование возможностей платформы WIndows Phone](https://reader033.vdocuments.us/reader033/viewer/2022052900/555a81bfd8b42a98568b4e0d/html5/thumbnails/51.jpg)
Nokia Internal Use Only
Motion sensor
Motion
Sensor
![Page 52: Использование возможностей платформы WIndows Phone](https://reader033.vdocuments.us/reader033/viewer/2022052900/555a81bfd8b42a98568b4e0d/html5/thumbnails/52.jpg)
Nokia Internal Use Only
Поддержка motion sensor
![Page 53: Использование возможностей платформы WIndows Phone](https://reader033.vdocuments.us/reader033/viewer/2022052900/555a81bfd8b42a98568b4e0d/html5/thumbnails/53.jpg)
Nokia Internal Use Only
Camera API
Silverlight 4 WebCam API
Простая запись видео
Можно использовать существующий код
Запись аудио и видео в файл
PhotoCamera
Фото
Кнопки камеры
Вспышка и фокус
![Page 54: Использование возможностей платформы WIndows Phone](https://reader033.vdocuments.us/reader033/viewer/2022052900/555a81bfd8b42a98568b4e0d/html5/thumbnails/54.jpg)
Nokia Internal Use Only
Демо
Использование
камеры
![Page 55: Использование возможностей платформы WIndows Phone](https://reader033.vdocuments.us/reader033/viewer/2022052900/555a81bfd8b42a98568b4e0d/html5/thumbnails/55.jpg)
Nokia Internal Use Only
![Page 56: Использование возможностей платформы WIndows Phone](https://reader033.vdocuments.us/reader033/viewer/2022052900/555a81bfd8b42a98568b4e0d/html5/thumbnails/56.jpg)
Nokia Internal Use Only
ресурсы
![Page 57: Использование возможностей платформы WIndows Phone](https://reader033.vdocuments.us/reader033/viewer/2022052900/555a81bfd8b42a98568b4e0d/html5/thumbnails/57.jpg)
Nokia Internal Use Only
С чего начать
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 58: Использование возможностей платформы WIndows Phone](https://reader033.vdocuments.us/reader033/viewer/2022052900/555a81bfd8b42a98568b4e0d/html5/thumbnails/58.jpg)
Nokia Internal Use Only
спасибо
![Page 59: Использование возможностей платформы WIndows Phone](https://reader033.vdocuments.us/reader033/viewer/2022052900/555a81bfd8b42a98568b4e0d/html5/thumbnails/59.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.