Опубликован: 02.08.2013 | Доступ: свободный | Студентов: 464 / 16 | Длительность: 18:38:00
Специальности: Программист
Лекция 6:

Шаблоны проектов, структура проектов

Для того, чтобы экран-заставка наилучшим образом выглядел на всех устройствах, на которое рассчитано приложение, его размеры должны соответствовать разрешениям их экранов. И хотя допустимо наличие лишь одного файла, о котором мы говорили выше, и который масштабируется автоматически, желательно создать различные файлы экранов-заставок для каждого из разрешений. Как правило, приложения ориентируют на все существующие разрешения дисплеев, то есть, фактически, нам понадобятся экраны-заставки размером 480х800 (WVGA), 768х1280 (WXGA) и 720х1280 (720p). Для того чтобы оснастить приложение такими экранами-заставками, в корневом разделе проекта можно разместить следующие файлы, в именах которых, перед расширением, присутствуют суффиксы, указывающие на размер экрана, для которого предназначен данный файл: SplashScreenImage.screen-WVGA.jpg, SplashScreenImage.screen-WXGA.jpg, SplashScreenImage.screen-720p.jpg. Система автоматически обрабатывает подобные суффиксы, выбирая тот, который подходит для разрешения дисплея устройства, на котором выполняется приложение. В данном случае имена файлов имеют значение, так как именно ориентируясь на них система использует те или иные файлы.

Файл App.xaml используется для хранения параметров, данных, настроек уровня приложения, соответствующий ему файл кода App.xaml.cs отвечает за инициализацию приложения, за обработку событий и ошибок уровня приложения. Если в приложении используются некие параметры и хранимые между вызовами приложения в постоянной памяти, обычно их объявляют, выполняют их загрузку и сохранение именно здесь. Здесь же обычно размещают код для проверки лицензии приложения, если оно предусматривает наличие пробной версии.

В папке Resources хранится, по умолчанию, файл ресурсов AppResources.resx, подобные файлы применяются для локализации приложения. В работе механизма локализации участвует и файл LocalizedStrings.cs, хранящийся в корневом разделе проекта (подробности о локализации и глобализации приложений можно узнать здесь: http://msdn.microsoft.com/en-US/library/windowsphone/develop/ff637522%28v=vs.105%29.aspx).

Папка Assets хранит графические ресурсы, в частности, уже упомянутый вспомогательный файл AlignmentGrid.png, значок приложения, который будет отображаться в списке приложений (ApplicationIcon.png), набор заготовок для различных плиток приложения, которые отображаются на домашнем экране (в подпапке Tiles).

Папка References содержит ссылки на библиотеки, используемые приложением, по умолчанию здесь есть ссылки на библиотеки .NET for Windows Phone и Windows Phone. Состав библиотек, необходимых приложению, можно расширять, если для его работы требуются какие-либо дополнительные возможности, или возможности, реализацию которых в сторонних библиотеках разработчик предпочитает стандартной реализации.

В папке Properties хранятся несколько файлов, играющих ключевую роль в работе приложения. Файл AppManifest.xml представляет собой файл манифеста, необходимый для создания пакета приложения. Файл AssemblyInfo.cs содержит метаданные сборки. Файл WMAppManifest.xml (http://msdn.microsoft.com/en-us/library/windowsphone/develop/ff769509%28v=vs.105%29.aspx) хранит настройки приложения, уникальные для платформы Windows Phone. Для редактирования этого файла можно пользоваться двумя подходами: непосредственным редактированием кода файла, либо – использованием специального редактора. При двойном щелчке по этому файлу открывается Конструктор манифеста, рис. 7.4.

Конструктор Манифеста приложения

увеличить изображение
Рис. 7.4. Конструктор Манифеста приложения

Он содержит следующие четыре закладки:

Интерфейс приложения. Здесь можно настраивать параметры, касающиеся внешнего вида приложения, в том числе – уже упомянутый параметр Страница навигации, который задаёт стартовую страницу приложения, Отображаемое имя – имя приложения, видное пользователю, здесь можно задать значок приложения, поддерживаемые им разрешения, настроить параметры плиток (здесь они названы иконками).

Возможности. Здесь приведен список возможностей устройства, которыми будет пользоваться приложение (подробнее о них можно узнать здесь: http://msdn.microsoft.com/en-us/library/windowsphone/develop/jj206936%28v=vs.105%29.aspx). Например, в приложении, которое нуждается для работы в основной камере устройства, должна быть объявлена возможность ID_CAP_ISV_CAMERA.

Требования. Здесь можно указать аппаратные требования, которые необходимы приложению. В частности, аппаратные требования к устройствам, работающим на ОС Windows Phone, хотя и довольно жёстко определяют их конфигурацию, содержат и условия, реализация которых зависит от решения производителя устройства. Например, к таким условиям относится наличие NFC-датчика (ему соответствует требование ID_REQ_NFC), наличие камеры (наличие основной камеры является фактическим стандартом, хотя и для проверки её наличия имеется требование ID_REQ_REARCAMERA, а передняя камера в некоторых телефонах отсутствует, если без её наличия приложение не должно устанавливаться на устройство, можно использовать требование ID_REQ_FRONTCAMERA).

Упаковка. Здесь содержатся сведения об авторе, издателе, версии приложения. Здесь же можно задать язык по умолчанию и указать список языков, поддерживаемых приложением.

Конструктор Манифеста, хотя и обладает достаточными для большинства нужд возможностями, не предоставляет полной свободы в редактировании файла-манифеста. В частности, например, если нашему приложению нужно более 180 Мб оперативной памяти, то есть, фактически, мы ориентируем его на устройства с не менее чем 1 Гб ОЗУ, в манифест стоит включить аппаратное требование ID_REQ_MEMORY_300. Подобного пункта в редакторе манифеста нет, для того, чтобы внести это требование в манифест, нужно вызвать контекстное меню файла WMAppManifest.xml, выбрать в нём команду Перейти к коду, после чего самостоятельно отредактировать файл манифеста. В данном случае, внести соответствующее требование в раздел файла Requirements, рис. 5.

Редактирование файла WMAppManifest.xml в редакторе кода

увеличить изображение
Рис. 7.5. Редактирование файла WMAppManifest.xml в редакторе кода

Обратите внимание на то, что приложение с включением подобного требования, при отладке его в эмуляторе, не запустится в эмуляторе, имитирующем устройство, имеющее 512 МБ ОЗУ

Выводы

В этой лекции вы ознакомились с основными особенностями шаблонов проектов приложений для Windows Phone 8 и изучили особенности устройства проекта приложения, созданного по шаблону Приложение Windows Phone, рассчитанного на платформу Windows Phone OS 8.0. Вы узнали о структуре и назначении основных файлов проекта, об использовании экранов-заставок, о роли и особенностях файла-манифеста приложения для Windows Phone.

Задание

Создайте проект приложения по шаблону Приложение Windows Phone 8, рассчитанный на платформу Windows Phone 8, добавьте в него новую страницу и настройте проект так, чтобы именно эта страница, а не MainPage.xaml, вызывалась при запуске приложения. Используя несколько графических файлов, подходящих для формирования экрана-заставки на экранах разрешений 480х800 (WVGA), 768х1280 (WXGA) и 720х1280 (720p), добейтесь того, чтобы приложение отображало различные экраны-заставки при запуске на эмуляторах с различным разрешением экрана. Изучите раздел Возможности файла-манифеста приложения для Windows Phone, выясните назначение различных возможностей, которые можно устанавливать для приложения, пользуясь пояснениями и ссылками на документацию, которые приводятся в редакторе манифеста. Выберите 5 любых возможностей и подготовьте развёрнутое сообщение с их описанием.

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

К данной лекции подготовлено видеоприложение и демонстрационный программный проект.