Технологии Microsoft для создания RIA-приложений

Создание Silverlight приложения для мобильных устройств

Показывать лекцию целиком

Все программы для Windows Phone 7 создаются с использованием управляемого кода .NET. В настоящее время можно создавать приложения язык C# так и Visual Studio. Платформы Silverlight и XNA для Windows Phone 7 имеют ряд общих библиотек, т.е. некоторые библиотеки XNA могут использоваться в программе Silverlight и наоборот. Но нельзя создавать программу, сочетающую в себе визуальные элементы обеих платформ.

Как правило, Silverlight используется для программ, которые можно классифицировать как приложения или утилиты. Описание компоновки элементов управления и панелей пользовательского интерфейса в этих программах выполняется с помощью Расширяемого языка разметки приложений (Extensible Application Markup Language, XAML). В файлах выделенного кода могут реализовываться операции по инициализации и некоторая логика, но основным их назначением является обработка событий элементов управления. Silverlight позволяет реализовать в Windows Phone стиль Насыщенных Интернет-приложений (Rich Internet Applications, RIA), включая мультимедиа и Веб.

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

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

  • Wi-Fi Телефон имеет Wi-Fi для доступа к Интернету. В программное обеспечение, установленное на телефоне, включена версия Internet Explorer.
  • Камера Телефон имеет камеру с разрешением не менее 5 мегапикселов и вспышку. Программы могут вызывать ПО камеры для осуществления ввода с нее или регистрироваться как дополнительное приложение для обработки фотографий. В этом случае они будут отображаться в меню для получения доступа к сфотографированным изображениям, например, для обработки этих изображений определенным образом.
  • Акселерометр измеряет ускорение, что является физической величиной, обозначающей изменение скорости. Если камера неподвижна, акселерометр реагирует на изменение гравитации. Программы могут получать трехмерный вектор, определяющий положение камеры относительно земли. Акселерометр также может выявлять резкие перемещения телефона.
  • Местоположение. По желанию пользователя телефон может применять множество стратегий определения своего географического местоположения. Телефон передает в аппаратное устройство GPS данные из Интернета или вышек сотовой связи. При его перемещении также могут предоставляться данные о направлении и скорости. Эти сведения собираются с помощью встроенного компаса, но программы не могут работать с ним напрямую.
  • Вибрация Программное управление вибрацией телефона.
  • FM-радиo Программный доступ к FM-радио.
  • Принудительные уведомления Для обновления данных, предоставляемых некоторыми Веб-сервисами, телефону пришлось бы регулярно опрашивать эти сервисы. Это могло бы приводить к разрядке батареи и сокращению времени автономной работы. Для решения этой проблемы был создан сервис принудительных уведомлений. Он берет на себя задачу по опросу всех необходимых сервисов и передает на телефон уведомления только при обновлении данных.
  • Инструментарий

    Весь необходимый инструментарий можно скачать по ссыкле:

    http://create.msdn.com/en-us/home/getting_startedУтилиты закачиваются и ставятся в автоматическом режиме ( рис 27.1).

    (рис 27.1) Окно установочника утилит для разработки под Windows Mobile Phone

    В пакет входит:

  • Visual Studio 2010 Express
  • Windows Phone Emulator
  • Silverlight for Windows Mobile (не поддерживает русскую редакцию Visual Studio 2010)
  • XNA Game Studio 4.0
  • Microsoft Expression Blend for Windows Phone
  • .NET Framework 4
  • Примечание: Если же у Вас на компьютере установлены более старшие версии Visual Studio 2010 или Expression Blend 4, то вместо установки отдельных продуктов, в существующих приложениях просто появятся новые типы проектов, необходимые для разработки под телефон.

    Windows Phone Emulator

    (рис 27.2) Windows Phone 7 Emulator

    Эмулятор телефона имеет небольшое всплывающее меню, которое появляется в верхнем правом углу при перемещении указателя мыши в эту область. Это меню позволяет изменять ориентацию или размер эмулятора. По умолчанию размер отображаемого эмулятора составляет 50% фактического размера, размер рисунка на этой странице примерно такой же. При отображении эмулятора в 100% величину, он выглядит огромным.

    От масштаба отображения зависит плотность пикселей. Разрешение экрана компьютера обычно примерно 100 пикселей на дюйм. (По умолчанию Windows предполагает, что разрешающая способность экрана – 96 точек на дюйм.) Экран реального устройства Windows Phone 7 имеет примерно в два раза большую разрешающую способность. При отображении эмулятора в 100% величину все точки экрана телефона будут примерно в два раза больше их реального размера.

    Шаблоны проектов мобильных приложений

    Visual Studio 2010 Express for Windows Phone и Windows Phone Developer Tools надстройки для Visual Studio включающие шаблоны проектов специально для разработки приложений на Windows Phone.Проект приложения для Windows Phone можно создать как Visual Studio 2010 ( Рис 27.3), так и в Expression Blend 4 ( Рис 27.4.)

    (рис 27.3) Шаблоны проектов в Visual Studio 2010(рис 27.4) Шаблоны проектов в Expression Blend 4(рис 27.1) Шаблоны проектов в Visual Studio 2010
    Шаблоны проектов для мобильных приложений
    ШаблонОписание
    Windows Phone Application Базовый шаблон приложения, который может быть использован в качестве отправной точкой для любого проекта, основанного на (рис 27.5)
    Windows Phone Databound Application Шаблон приложения, который используют элемент управления (рис 27.6)
    Windows Phone Class Library Шаблон приложения, для создания DLL . Этот шаблон не имеет элементы пользовательского интерфейса и может использоваться совместно с другими приложениями.
    Windows Phone Panorama Application Шаблон приложения, использующего элемент управления Panorama , который позволяет просматривать элементы управления, данные, сервисы, используя горизонтально-ориентированный элемент (рис 27.7)
    Windows Phone Pivot Application Шаблон приложения, использующего элемент управления Pivot, который позволяет переключаться между представлениями (view) или страницами в приложении.

    Структура проекта

    (рис 27.8) Структура проекта Windows Phone Application

    ApplicationIcon.png

    Картинка, которая будет иконкой приложения в телефоне. Это действительно важный файл, так как он является первым, что увидят пользователи при работе с приложением.

    App.xaml

    Хотя данный файл и не является полным аналогом, он служит целям, напоминающие таковые у файла web.config в ASP.NET приложениях. App.xaml является тем местом, где можно хранить данные и настройки для всего приложения. Также в данном файле удобно хранить стили, но это не является обязательным.

    App.xaml.cs

    Файл кода (code-behind) для App.xaml. В этом файле можно обрабатывать события и ошибки уровня приложения, в том числе его "захоранивание"("tombstoning").

    AppManifest.xml

    Простой манифест, необходимый для генерации XAP файла (пакета приложения).

    AssemblyInfo.cs

    Ещё один конфигурационный файл, в котором определяются некоторые метаданные главной сборки( Assembly ) приложения.

    Background.png

    Данная картинка используется, когда приложение закреплено на стартовом экране телефона(start screen). По сути это большая иконка приложения. Поэтому было бы разумно сделать её визуально похожей на ApplicationIcon.png.

    MainPage.xaml

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

    MainPage.xaml.cs

    Файл кода страницы MainPage.xaml. Когда Вам требуется написать какой-либо код для страницы, вы можете использовать MainPage.xaml.cs в этих целях. Однако, существуют и другие подходы, например паттерн проектирования MVVM (Model-View-ViewModel), когда файл кода страницы оказывается почти пустым, а бизнес логика определяется в других классах. Но так как писать код для небольших примеров непосредственно в *.xaml.cs файлах удобнее в дальнейшем мы выберем именно такой подход, хотя паттерны проектирования также рассмотрим.

    SplashScreenImage.jpg

    Данная картинка отображается во время загрузки приложения. Можно задать свою картинку, но учтите, что её целью является только информирование пользователя о том, что приложение загружается. В этом месте не стоит пытаться сделать что-то необычное.

    WMAppManifest.xml

    Файл метаданных, который содержит множество настроек приложения: заголовок, задание первой страницы, пути к иконкам, определение необходимых системных возможностей и.т.д.

    Дополнительные материалы

    Вернуться к учебному плану