Главная » Разработка для Windows Phone 7 » Аппаратные средства Windows Phone 7

0

Разработчики, имеющие опыт создания приложений для устройств, поддерживающих Windows Mobile, найдут существенные отличия в стратегии Майкрософт для Windows Phone 7. Она отличается крайней предупредительностью в описании аппаратных средств, которые часто называют «железом».

Первоначальные версии устройств Windows Phone 7 будут иметь экран одного размера. (В будущем ожидается использование еще одного размера экрана.) Присутствие многих аппаратных возможностей гарантируется на каждом устройстве.

На фронтальной части телефона имеется дисплей, поддерживающий мультисенсорный ввод, и три кнопки, как правило, располагающиеся под дисплеем. Наименование этих кнопок в порядке слева направо:

•         Back (Назад) Программы могут использовать эту кнопку для навигации, во многом аналогично кнопке Back в Веб-браузере. При использовании со стартовой страницы программы эта кнопка приводит к завершению программы.

•         Start (Пуск) Эта кнопка обеспечивает переход пользователя к стартовому экрану телефона; в противном случае этот экран недоступен программам, выполняющимся на телефоне.

•                                   Search (Поиск) Операционная система использует эту кнопку для запуска поиска.

Первоначальные версии устройств Windows Phone 7 имеют экран размером 480 х 800 пикселов. В будущем ожидается также применение экранов размером 320 х 480 пикселов. Никаких других вариантов для Windows Phone 7 не планируется, поэтому очевидно, что эти два размера экрана играют очень важную роль в разработке телефона.

Теоретически, лучше всего создавать программы, которые самостоятельно адаптируются к любому размеру экрана. Но это не всегда возможно, в частности, для игр. Вероятнее всего, приложения будут ориентироваться на эти два размера экрана, что будет реализовано в виде различных фрагментов кода и разных XAML-файлов для компоновки, которая зависит от размеров экрана.

Как правило, я буду ссылаться на эти два размера, как на «большой» и «маленький» экран. Наибольший общий знаменатель горизонтального и вертикального размеров обоих экранов – 160, т.е. их можно изобразить с помощью квадратов со стороной 160 пикселов:

Я показываю экраны в портретном режиме, потому что обычно именно так ориентированы экраны смартфонов. Для сравнения, экран оригинального Zune – 240 х 320 пикселов; Zune HD – 272 х 480.

Конечно, телефон можно перевернуть горизонтально и получить экран в альбомном режиме. Некоторые программы могут требовать определенной ориентации экрана телефона, другие будут более гибкими.

Разработчик полностью контролирует, в какой мере создаваемое им приложение поддерживает ориентацию экрана. По умолчанию приложения Silverlight отображаются в портретном режиме, но можно сделать так, чтобы они самостоятельно приспосабливались к изменениям ориентации экрана. Специально для целей определения изменения ориентации предусмотрены новые события, а некоторые изменения обрабатываются автоматически. Для сравнения, разработчики игр обычно задают конкретную ориентацию экрана пользователя. Программы на XNA используют альбомный режим по умолчанию, но это свойство легко переопределить.

В портретном режиме маленький экран равен половине старого VGA-экрана (т.е. 640 х 480). В альбомном режиме большой экран имеет размеры, соответствующие так называемому WVGA («wide VGA1»). В альбомном режиме соотношение ширины и высоты маленького экрана составляет 3:2 или 1,5; для большого экрана это соотношение 5:3 или 1,66…. Ни одно из этих соотношений не совпадает с пропорциями телевизионного экрана, которые для телевизоров стандартного разрешения составляют 4:3 или 1,33. и для телевизоров с высоким разрешением – 16:9 или 1,77.. Соотношение высоты и ширины экрана Zune HD – 16:9.

Как во многих современных телефонах и Zune HD, для экранов телефонов Windows Phone 7, скорее всего, будет использоваться технология ОСИД («органический светоизлучающий диод»)2, хотя это не является требованием к оборудованию. Экраны ОСИД отличаются от плоских экранов, используемых в прошлом, тем, что их энергопотребление пропорционально излучаемому свету. Например, ОСИД-экран потребляет менее половины энергии, необходимой для жидкокристаллического (ЖК) монитора того же размера, но это только в режиме, когда экран преимущественно темный. Для полностью светлого экрана ОСИД потребляет более чем в три раза больше энергии, необходимой для ЖК.

Продолжительность автономной работы имеет первостепенную важность для мобильных устройств, поэтому эта характеристика ОСИД-дисплеев предполагает применение

преимущественно черных фонов с редкими графическими элементами и контрастных шрифтов. Независимо от этого пользователи Windows Phone 7 могут выбирать между двумя основными цветовыми темами: светлый текст на темном фоне или темный текст на светлом фоне.

Пользовательский ввод для программ Windows Phone 7 будет осуществляться посредством мультисенсорного ввода. Экраны поддерживают технологию емкостного касания. Это означает, что они отвечают только на прикосновение человека, но не реагируют на касание стилусом или другие формы давления. touch Экраны устройств Windows Phone 7 должны распознавать одновременное касание как минимум в четырех точках.

Аппаратные клавиатуры необязательны. Необходимо предполагать, что дизайн телефонов может быть разным, поэтому при использовании клавиатуры экран может быть либо в портретном, либо в альбомном режиме. Программа на Silverlight, использующая ввод с клавиатуры, должна реагировать на изменения ориентации экрана, чтобы пользователь мог просматривать экран и использовать клавиатуру, не задаваясь вопросом, что за идиот разрабатывал приложение. Также предоставляется экранная клавиатура, которую в кругах Windows-пользователей называют Soft Input Panel (Панель функционального ввода) или SIP. В приложениях на XNA также реализовывается работа с аппаратной клавиатурой и SIP.

Датчики и сервисы

Устройство Windows Phone 7 должно иметь ряд других аппаратных возможностей – иногда называемых датчиками – и предоставлять некоторые программные сервисы, возможно, с аппаратной поддержкой. Рассмотрим те из них, которые наиболее интересны разработчикам:

•         Wi-Fi Для доступа к Интернету телефон снабжен Wi-Fi в дополнение к доступу к данным по технологиям 3G (3G data access), предоставляемому поставщиком мобильной связи. В программное обеспечение, установленное на телефоне, включена версия Internet Explorer.

•         Камера Телефон снабжен камерой с разрешением не менее 5 мегапикселов и вспышкой. Программы могут вызывать ПО камеры для осуществления ввода с нее или регистрироваться как приложение расширений для обработки фотографий. В этом случае они будут отображаться в меню для получения доступа к сфотографированным изображениям, например, для обработки этих изображений определенным образом.

•         Акселерометр измеряет ускорение, что является физической величиной, обозначающей изменение скорости. Если камера неподвижна, акселерометр реагирует на изменение гравитации. Программы могут получать трехмерный вектор, определяющий положение камеры относительно земли. Акселерометр также может выявлять резкие перемещения телефона.

•         Местоположение По желанию пользователя телефон может применять множество стратегий определения своего географического местоположения. Телефон передает в аппаратное устройство GPS данные из Интернета или вышек сотовой связи. При его перемещении также могут предоставляться данные о направлении и скорости.

•         Вибрация Программное управление вибрацией телефона.

•         FM-радио Программный доступ к FM-радио.

•         Принудительные уведомления Для обновления данных, предоставляемых некоторыми Веб-сервисами, телефону пришлось бы регулярно опрашивать эти сервисы. Это могло бы приводить к разрядке батареи и сокращению времени автономной работы.

Для решения этой проблемы был создан сервис принудительных уведомлений. Он берет на себя задачу по опросу всех необходимых сервисов и передает на телефон уведомления только при обновлении данных.

File | New | Project

Я буду предполагать, что у читателя установлена Visual Studio 2010 Express for Windows Phone, либо самостоятельная версия, либо как дополнение к Visual Studio 2010. Для удобства я буду называть эту среду разработки просто «Visual Studio».

Традиционная программа «Здравствуй, мир!», отображающая лишь коротенькую фразу, может казаться глупой для неразработчиков. Но разработчики уже знают, что такое приложение служит, по крайней мере, двум полезным целям. Во-первых, это способ проверить, насколько просто (или нелепо сложно) вывести на экран простую текстовую строку. Во-вторых, это возможность для разработчиков пройти процесс создания, компиляции и выполнения программы без особых проблем. При разработке программ для мобильных устройств этот процесс немного усложняется, потому что написание и компиляция программы выполняется на ПК, а развертываться и выполняться она будет на реальном телефоне или, как минимум, на его эмуляторе.

В данной главе представлены программы для отображения фразы «Hello, Windows Phone 7!», созданные на Microsoft Silverlight и Microsoft XNA.

Чтобы просто сделать эти программы немного более интересными, я ставлю задачу вывести текст в центре экрана. В приложении на Silverlight будут использоваться цвета фона и текста, выбранные пользователем в разделе Themes (Темы) окна Settings (Настройки) телефона. Приложение на XNA будет выводить белый текст на темном фоне, чтобы обеспечить меньшее энергопотребление ОСИД.

Если вы готовы создать свою первую программу для Windows Phone 7, пора запустить Visual Studio, в меню File (Файл) выбрать New (Новый) и затем Project (Проект).

Источник: Чарльз Петзольд, Программируем Windows Phone 7, Microsoft Press, © 2011.

По теме:

  • Комментарии