Как создать приложение для windows phone. Разработка первого приложения для Windows Phone: Создание первого приложения
В диалоге New Project Visual Studio выберем Visual C#, Silverlight for Windows Phone и простой шаблон приложения Windows Phone Application и назовём его ExploringXAMLFeatures.
В диалоге выбора целевой операционной системы выберем Windows Phone OS 7.1
После создания проекта, окно Visual Studio примет следующий вид
Рассмотрим структуру проекта в окне Solution Explorer:
Название файла | Назначение |
AppManifest.xml | Файл манифеста, необходимый для генерации XAP файла, в который упаковывается приложение для развёртывания на телефоне. |
AssemblyInfo.cs | Ещё один конфигурационный файл, в котором определяются некоторые метаданные главной сборки(Assembly) приложения. |
WMAppManifest.xml | Файл метаданных, который содержит разнообразные настройки приложения: заголовок, задание первой страницы, пути к иконкам, определение необходимых системных возможностей и.т.д. |
App.xaml | Это файл ресурсов приложения. Здесь располагаются глобальные ресурсы (это будет рассмотрено при использовании стилей) или глобальные события (происходящие при старте приложения). Этот файл также является точкой входа приложения. |
App.xaml.cs | Файл кода (code-behind) для App.xaml. Здесь можно обрабатывать события и ошибки уровня приложения, в том числе его tombstoning. Данную концепция будет рассмотрена позднее, когда будет рассматриваться многозадачность. |
ApplicationIcon.png | Картинка, которая будет иконкой приложения в телефоне. Это действительно важный файл, так как он является первым, что увидят пользователи при работе с приложением. |
Background.png | Данная картинка используется, когда приложение закреплено на стартовом экране телефона(start screen). По сути это большая иконка приложения. Разумно сделать её визуально похожей на ApplicationIcon.png. |
MainPage.xaml | Это часть выбранного шаблона приложения. Название MainPaige не очень удачное, но именно оно используется шаблоном проекта по умолчанию. Этот страница представляет интерфейс, который видит пользователь при старте приложения. |
MainPage.xaml.cs | Файл кода страницы MainPage.xaml. |
SplashScreenImage.jpg | Данная картинка отображается во время загрузки +приложения. Можно задать свою картинку с анимацией, чтобы проинформировать, что приложение загружается. Есть техника создания очень динамичных страниц загрузки на XNA, но она выходит далеко за рамки этого цикла статей. |
Файлы XAML определяют интерфейс приложения. На самом деле - это просто XML файлы с языком разметки XAML.
Несмотря, что это самый простой проект, он содержит все ключевые элементы, которые содержат все остальные шаблоны и типы проектов.
Обратите внимание, что часть настроек, представленных в виде конфигурационных файлов, могут редактироваться в визуальном интерфейсе редактирования настроек приложения.
Добавление элементов управления на страницу XAML
Обратите внимание, что Visual Studio по умолчанию отображает и дизайн, и XAML код страницы.
Если вы переходили к просмотру других файлов решения, двойным щелчком перейдите на файл MainPage.xaml.
В XAML код файла MainPage.xaml внутрь элеметна Grid с именем ContentPanel вставьте элемент управления Button:
В окне дизайна кнопка отобразится сразу приблизительно в центре интерфейса. Обратили внимание на атрибут Name ? Это уникальный идентификатор элемента, который помогает ссылаться на него в коде. Считайте это ID атрибутом элемента управления. Давайте теперь добавим какие-нибудь действия при нажатии на эту кнопку. Есть два способа привязать событие к кнопке Button (или любому другому элементу управления). В XAML, прямо в определении Button, можно добавить атрибут Click и система InteliSense автоматически спросит, хотим ли мы сгенерировать новый обработчик событий:
Можно связать обработчик событий напрямую в коде страницы Home.xaml.cs не указывая его в XAML файле:
Public MainPage() { InitializeComponent(); MyButton.Click +=new RoutedEventHandler(MyButton_Click); }
Оба способа работают. Можете использовать любой из них. Для упрощения здесь будет использоваться определение метода в XAML. Теперь в функции MyButton_Click можно написать управляемый код, который будет изменять интерфейс или вызывать другие функции. Завершим наш пример приложения, добавив код, который будет изменять текст в TextBlock PageTitle (PageTitle – это Name, так что можно ссылаться на неё напрямую в коде) на «привет wp7». Чтобы сделать это допишем следующий код в функцию:
Private void MyButton_Click(object sender, RoutedEventArgs e) { PageTitle.Text = "привет wp7"; }
Выберем в настройках проекта Windows Device Emulator
И запустим приложение, нажав на зеленый треугольник или копку F5. После запуска приложения и нажатия на кнопку «Нажми меня», вид экрана должен быть аналогичным снимку экрана ниже:
Добавление новых страниц в проект
Только самое простое приложение состоит из одной страницы. Мы хотим научиться писать сложные многостраничные приложения. Мы можем использовать шаблоны Pivot, Panorama, можем использовать паттерн проектирования MVVM (Model-View-ViewModel), а сначала научимся добавлять новые страницы в проект и переходить между ними.
В окне Solution Explorer щелкнем правой кнопкой мыши по названия проекта, и в отобразившемся меню выберем, Add, далее New Item, в открывшемся диалоговом окне выберем Windows Phone Portrait Page и назовем её SecondPage.xaml:
Теперь у нас есть пустая XAML страница, точная копия страницы MainPage.xaml до того, как мы её отредактировали.
Чтобы лучше различать страницы, перейдем к XAML коду страницы SecondPage и у элемента TextBlock с Name PageTitle отредактируем свойство Text, как показано ниже:
Навигация между страницами приложения
Итак, у нас в проекте есть две страницы, при запуске приложения отображается страница MainPage.xaml. Как теперь перейти со страницы MainPage.xaml на SecondPage.xaml?
Попробуем два простых способа, как это сделать.
В XAML код файла MainPage.xaml после добавленного ранее кода Button, добавим код HyperlinkButton, как показано ниже:
Элемент управления HyperlinkButton имеет специальноe свойство NavigateUri, которое позволяет указать Uri для перехода. Добавим это свойство со значением /SecondPage.xaml, как показано ниже:
Запустим приложение (F5).
Когда отобразится интерфейс приложения, если мы нажмём ссылку Вторая страница, то произойдет переход на вторую, ранее созданную страницу SecondPage.xaml. Если после этого нажать на аппаратную кнопку Back, то мы вернёмся на основную (предыдущую) страницу – по умолчанию эта кнопка позволяет перейти на предыдущую активную страницу.
Теперь воспользуемся возможностью программного перехода. Сначала добавим в секцию using следующий код:
Private void MyButton_Click(object sender, RoutedEventArgs e) { NavigationService.Navigate(new Uri("/SecondPage.xaml", UriKind.Relative)); }
Запустите приложение (F5) и убедитесь, что кнопка работает также как и ссылка.
Добавим на вторую страницу (SecondPage.xaml) элементы управления и код, который бы позволял вернуться на предыдущую страницу.
В XAML код файла SecondPage.xaml внутрь элеметна Grid с именем ContentPanel вставьте элементы управления Button и HyperlinkButton, как показано ниже:
Для создания обработчика события Click кнопки MyButton на странице SecondPage кликните правой кнопкой мыши по тексту MyButton_Click в XAML редакторе и выберите Navigae to Event Handler.
Запустите приложение (F5) и убедитесь, что ссылка «Первая страница» на второй странице возвращает приложение на MainPage.
Теперь воспользуемся возможностью программного перехода. В коде страницы SecondPage.xaml.cs добавим в секцию using следующий код:
Using System.Windows.Navigation;
А затем, заменим код обработчика MyButton_Click на следующий:
Private void MyButton_Click(object sender, RoutedEventArgs e) { NavigationService.GoBack(); }
Запустите приложение (F5) и убедитесь, что кнопка Обратно на второй странице возвращает приложение на MainPage.
Обратите внимание, что в коде, который запускается по нажатию кнопки мы не использовали название страницы, на которую нам необходимо перейти, а попросили сервис навигации, представленный классом NavigationService перейти на страницу, которая была в стеке переходов перед текущей.
События перехода с/на страницы могут быть обработаны програмно, например, чтобы уточнить у пользователя, действительно ли он хочет уйти с текущей страницы.
Добавьте следующий код в файл SecondPage.xaml.cs сразу после обработчика MyButton_Click:
Protected override void OnNavigatingFrom(NavigatingCancelEventArgs e) { base.OnNavigatingFrom(e); // Если можно отменить переход, уточним у пользователя, хочет ли он остаться на текущей странице if (e.IsCancelable) { MessageBoxResult result = MessageBox.Show("Может быть останетесь?", "Подтверждение перехода", MessageBoxButton.OKCancel); if (result == MessageBoxResult.OK) { // Пользователь решил остаться e.Cancel = true; return; } } }
Код достаточно простой, чтобы вы с ним могли разобраться самостоятельно.
Запустите приложение (F5) и обратите внимание, что уточняющий диалог отображается вне зависимости от того, собираемся вы вернуться на MainPage нажатием на кнопку или по ссылке.
Теперь осталось научиться передавать между страницами параметры.
Двойным щелчком по MainPage.xaml перейдём к редактированию основной страницы. В коде MainPage.xaml добавим элемент управления TextBox, выше элемента Button, как показано ниже:
Двойным щелчком по SecondPage.xaml перейдём к редактированию основной страницы. В коде SecondPage.xaml добавим элемент управления TextBox, выше элемента Button, также как на странице MainPage:
Теперь, в обработчик события MyButton_Click страницы MainPage добавим параметры в Uri перехода на вторую страницу по кнопке:
Private void MyButton_Click(object sender, RoutedEventArgs e) { NavigationService.Navigate(new Uri("/SecondPage.xaml?text="+Uri.EscapeDataString(MyTextBox.Text), UriKind.Relative)); }
И, наконец, в код страницы SecondPage.xaml.cs, сразу же после обработчика OnNavigatedFrom, добавим обработчик прихода на страницу OnNavigatedTo и в нем обработаем приходящий параметр и выведем его в MyTextBox:
Protected override void OnNavigatedTo(NavigationEventArgs e) { base.OnNavigatedTo(e); if (NavigationContext.QueryString.ContainsKey("text")) { MyTextBox.Text = NavigationContext.QueryString["text"].ToString(); } }
Запустите приложение (F5) и проверьте, как оно работает, например, при переходе по ссылке со страницы MainPage на SecondPage.
Итоги и следующие шаги
Итак, мы разобрались с тем, что надо установить для разработки под Windows Phone 7, познакомились с доступными шаблонами и научились создавать новое приложение из шаблона. Также мы научились добавлять элементы управления, прямо в XAML код, добавлять в проект новые страницы и организовывать между ними переход по ссылке и в коде с возможностью передачи параметров.
На следующем шаге мы познакомимся с некоторыми вариантами разметки, доступными в Silverlight, рассмотрим основные элементы управления, а также узнаем, что такое контекст ввода для текстовых полей.
С сегодняшнего дня все разработчики могут пополнять магазин Windows 10. Если вы используете эту операционную систему, вы можете создать для нее собственное приложение. Регистрироваться в качестве разработчика не нужно, публиковать его в магазине тоже, но вы сможете пользоваться им сами или отправить его своим друзьям.
Как создать приложение для Windows 10?
Зайдите на сайт , залогиньтесь в аккаунт Microsoft и согласитесь с предложенными условиями.
Откроется начальная страница сервиса. Нажмите на «Windows 10» и выберите в разделе шаблонов «Empty App W10».
Придумайте своему приложению название, впишите его в соответствующее поле и нажмите «Start with this one!»
Вы перейдете в рабочую панель App Studio. Во вкладке «Content» вы можете наполнить приложение контентом из RSS-ленты любого сайта и различных сервисов (Facebook, Twitter, YouTube, Instagram, Flickr и так далее). Также можно использовать HTML-код.
Расположение контента на странице приложения можно настроить, нажав значок редактирования на плитке любого из блоков. Изменения не сохраняются автоматически, поэтому иногда нажимайте кнопку Save.
Во вкладке «Themes» можно выбрать любую из заготовленных тем оформления или модифицировать существующую так, чтобы она максимально подходила вашему приложению.
Во вкладке «Tiles» настраивается живая плитка приложения. Вы можете загрузить иконки разных размеров.
Вкладка «Settings» - финальная. В ней можно выбрать язык приложения, добавить описание, привязать проект к своему аккаунту разработчика и активировать показ рекламы.
В любой момент можно посмотреть, как ваше приложение будет выглядеть и работать на смартфоне, планшете и компьютере. Если необходимо внести правки, вернитесь в любую вкладку и отредактируйте контент.
Скачайте архив с приложением на компьютер, распакуйте его в какую-нибудь папку, но не спешите его запускать.
Скачайте с сайта Microsoft корневой сертификат и установите его. Затем зайдите в меню «Обновление и безопасность» параметров устройства и в разделе «Для разработчиков» включите «Режим для разработчика».
— это онлайн-сервис для создания мобильных приложений под разные платформы, включая Windows Phone. Особенность сервиса в том, что для создания приложения не надо ничего программировать - он заточен под специальные сценарии потребления данных, которые позволяют генерировать приложения на основании указанных вами параметров (например, источника новостей в виде RSS-ленты).
Как это работает?
Первым делом, вам будет необходимо зарегистрироваться. После этого вы сможете попасть в панель управления (dashboard). Далее выберите создание нового приложения:Чтобы сделать приложение под Windows Phone, выберите соответствующую опцию:
На следующем экране укажите источник для ваших данных (сайт на котором есть RSS/Atom или сразу ссылку на соответствующий фид) — я буду создавать приложение для нашего
студенческого блога :
Справа можно сразу посмотреть, как будет выглядеть ваше приложение в эмуляторе телефона:
Следующий пункт — кастомизация приложения. Здесь можно изменить шапку приложения, а также поменять цвета:
После этого приложение ставится в очередь на генерацию — вам остается лишь подождать какое-то время, пока приложение будет собрано и разместить его в Marketplace для всех желающих!
Готовый файл, генерируемый appmakr — это обычный zip-архив, который необходимо переименовать в xap-файл.
При большом желании приложение можно дополнительно настроить с помощью CSS и JavaScript.
Публикация в Marketplace
Теперь, когда у вас на руках есть готовый xap-файл, самое время опубликовать приложение в Marketplace . Часть графических элементов вы наверняка уже подготовили в процессе работы над приложением (например, иконки и экран загрузки), а часть еще понадобится сделать для публикации в магазине.Напомню, что студенты (и аспиранты) могут зарегистрироваться в Marketplace бесплатно через программу DreamSpark . Также до 20 октября у Softkey действует специальная акция для размещения бесплатных приложений.
Полный набор графических объектов (не все из них обязательные) выглядит так: квадратные иконки шириной 99, 173 и 200px, фоновое изображение 1000x800px, а также набор скриншотов приложения. Скриншоты удобно делать с помощью встроенного в эмулятор средства для снятия снимков экрана.
Теперь остается заполнить все необходимые поля описания, установить цену (например, сделать приложение бесплатным), выбрать рынки (учтите, что если приложение содержит только данные на русском, то и публиковать его следует на российский рынок, иначе могут быть сложности с прохождением сертификации) и отправить приложение на проверку.
Через несколько дней ваше приложение будет доступно в магазине приложений .
Итог
Если вы хотите быстро и без лишних затрат сделать приложение для Windows Phone,appmakr — сделает для вас решение этой задачи очень простым! Все что вам нужно, это браузер, источники данных и, возможно, несколько картинок.
Конечно, appmakr не решает всех задач и не способен охватить большое количество сценариев. Но, как минимум, чтобы быстро сделать приложение для себя или друзей, аггрегирующее несколько источников данных, или проверить на себе как работает весь процесс загрузки приложения и дальнейшей сертификации, appmakr подходит как нельзя лучше!
Бонус
Наконец, небольшой бонус. Мой коллега, Стас Павлов будет проводить вебинар «Основы разработки для платформы Windows Phone 7» , на котором будет рассказано, как начать разрабатывать и зарабатывать на платформе Windows Phone 7.Участие бесплатно. Регистрация обязательна.
Статьи и Лайфхаки
Пользователи по всему миру могут создавать игры и прочие интерактивные программы для данной платформы. Однако то, как создать приложение для Windows Phone , так же как о возможности , знают немногие. Следует понимать, что это весьма сложный и трудоёмкий процесс, и для того, чтобы овладеть разработкой, потребуется предварительно записаться на специальное обучение на длительный срок.
Что нужно знать тому, кто только собирается начать осваивать создание игр и приложений на WP? Наша статья посвящена последовательности тех действий, которые включает процесс разработки, особенностям создания пользовательского интерфейса, а также непосредственно использованию возможностей самой платформы.
Последовательность разработки приложений для Windows Phone и особенности создания его пользовательского интерфейса
Разработку любого приложения всегда следует начинать с того, чтобы произвести благоприятное впечатление. Иными словами, потребуется создать хороший пользовательский интерфейс (иначе его называют XAML), который бы выглядел понятно и привлекательно, после чего уже приступать к добавлению функций. Третьим этапом станет тестирование приложения.
Перед разработкой пользовательского интерфейса потребуется узнать, как правильно выбирать между поверхностями для программы (найти их можно через Магазин Windows), создавать макет и добавлять содержимое, а также необходимые элементы управления. Обязательно скачивают из Магазина ресурсы для проектировки.
Итак, процесс создания интерфейса начинается с создания макета. Можно использовать самые различные поверхности, например, диалоговые окна или различные всплывающие элементы. От того, какие элементы будут использованы, приложение окажется простым и понятным, или же сложным. В любом приложении системы Windows также используется особый набор кнопок (вроде «Отправка», «Поиск», «Параметры» и т.д.), который, в отличие от того, наверняка знаком каждому.
Если в приложении имеются ошибки, о них можно узнать через одну из трёх основных поверхностей. При этом выводится сообщение об ошибке.
Любое приложение также нуждается в элементах управления, например, в раскрывающихся списках или кнопках. Все они могут быть задействованы благодаря специальным программам из Магазина Windows (например, на Visual Basic или C++), и их же используют при создании интерфейса.
Чтобы разработчик смог протестировать своё приложение на реальном мобильном устройстве, понадобится unlock.
Использование возможностей платформы Windows Phone при создании приложений
При самом первом знакомстве с платформой WP пользователь должен наверняка убедиться в том, что он обладает не только необходимыми знаниями, но и специальным инструментарием. К нему можно отнести, к примеру, пакет Windows Phone SDK (его легко скачать с сайта App Hub), Visual Studio 2010 (в редакции Professional или выше), программное окружение XNA Game Studio 4.0, визуальный интерактивный дизайнер Expression Blend (для WP), Windows Phone Emulator и иные дополнительные средства.
Перед тем, как начать разбираться в том, как создать приложение для Windows Phone, необходимо тщательно изучить все основные возможности этой платформы – в частности, её элементы управления (WebBrowser и Map), задачи выбора и запуска (Choosers и Launchers соответственно), а также работу с акселерометром и системой геолокации. На мобильном устройстве доступны определённые геолокационные сервисы, которые используют сведения, полученные по Wi-Fi, GPS и по сотовой связи.
Помимо программных возможностей, разработчику доступны и аппаратные возможности платформы. Создав геолокационное приложение ExploreMapControl, пользователь сможет добавить в него и функции акселерометра, прописав корректную директиву.
При установке Windows Phone Developer Tools вы получаете следующие бесплатные инструменты и компоненты.- Windows Phone emulator
- Zune software
- XNA Game Studio 4.0
- Silverlight
- .NET Framework 4
Expression Blend for Windows Phone
Expression Blend for Windows Phone - программа для разработки дизайна, которая позволяет создавать и добавлять специальные визуальные возможности, такие как градиенты, анимации и переходы. Для некоторых задач Expression Blend проще в использовании, чем Visual Studio. Следующий список содержит некоторые задачи, которые легко выполняются с помощью Expression Blend.- Визуальное создание шаблонов данных
- Использование во время разработки тестовых данных для визуализации шаблонов данных
- Визуальное создание стилей элементов управления
- Создание и просмотр анимации
Примечание:
В этой статье описывается работа в Visual Studio 2010 Express for Windows Phone, и не будет использоваться Expression Blend for Windows Phone.
Visual Studio 2010 Express for Windows Phone
Visual Studio 2010 Express for Windows Phone включает в себя drag-and-drop дизайнер, который имитирует внешний вид телефона, редактор кода и отладчик. Если вы работали с Visual Studio для разработки других видов приложений, вы обнаружите среду для разработки мобильных приложений очень знакомой. На следующем изображении показан внешний вид Visual Studio 2010 Express for Windows Phone.Дизайнер для Windows Phone содержит панель инструметов (Toolbox), режим дизайна (Design view), режим XAML (XAML view), обозреватель решений (Solution Explorer) и окно «Свойства» (Properties window), похожие на стандартный дизайнер Visual Studio. Два ключевых различий в том, что в режиме дизайна поверхность выглядит как Windows Phone устройство, и появилось целевое устройство (Target device), которое позволит вам выбрать, будет ли вы отлаживать приложение на устройстве или эмуляторе. На следующем изображении показан внешний вид эмулятора в портретной и альбомной ориентации.
Рекомендации по проектированию интерфейса (Design Guidelines)
Важно, что бы вы знали об установленных принципах проектирования интерфейса, если вы планируете опубликовать своё Windows Phone приложения в App Hub. Рекомендации по проектированию описывают, как спроектировать пользовательский интерфейс для своего приложения.В следующей таблице приводится краткое изложение основных принципов проектирования интерфейса и требований к приложений, которые необходимо учесть при проектировании и разработке вашего приложения. Полный и самый актуальный список рекомендаций по проектированию интерфейса вы можете найти по следующей ссылке.
UI Design and Interaction Guide for Windows Phone 7
Категория | Рекомендации по проектированию |
---|---|
Навигация, фреймы и страницы |
|
Панель приложения |
|
Кнопка «Назад» |
|
Ориентация экрана |
|
Темы оформления |
|
Настройки приложения |
|
Сенсорный ввод |
|
Экранная клавиатура |
|
Элементы управления Canvas и Grid |
|
Элементы управления Panorama и Pivot |
|
Текст |
|
Дополнительные ресурсы
Ниже приведены некоторые ссылки на дополнительные ресурсы, где можно узнать больше о разработке для Windows Phone.Ресурс | Описание |
---|---|
Windows Phone App Hub | Дополнительная документация, примеры кода и сообщество по разработке для Windows Phone. |
Windows Phone Development Documentation | Официальная документация по разработке для Windows Phone на MSDN. |
Silverlight Documentation | Официальная документация по Silverlight и Silverlight for Windows Phone на MSDN. |
Code Samples for Windows Phone | Скачиваемые примеры кода, которые дополняют документацию по Windows Phone. |
Windows Phone QuickStarts | Сборник коротких статей, демонстрирующих задачи и возможности при разработке для Windows Phone. |
Windows Phone Developer Guide | Руководство разработчика, описывающее историю фиктивной компанией, которая решила использовать Windows Phone 7 как клиентское устройство для уже существующих облачного приложения. |
The Windows Phone Developer Blog | Блог, который содержит актуальную информацию и объявления прямо от команды по разработке Windows Phone. |
Windows Phone 7 Development for Absolute Beginners | Серия видеороликов для абсолютных новичков, не требующая никаких навыков программирования. |
Windows Phone 7 Jump Start | Серия видеороликов для разработчиков, не знакомых с разработкой для Windows Phone с использованием Silverlight или XNA. |
Windows Phone 7 Training Course | Видеоролики и практические занятия по разработке для Windows Phone с использованием Silverlight или XNA. |
.toolbox | Учебники и другие ресурсы для дизайнеров, обучающие, как разрабатывать дизайн приложения для Windows Phone. Включает в себя учебники по Expression Blend. |
Jeff Wilcox Blog | Блог о Silverlight, Silverlight Toolkit и Silverlight for Windows Phone. Джеф Уилкокс - это ведущий разработчик программного обеспечения в Microsoft в команде Silverlight. |
Jeff Prosise Blog | Блог о различных областях в программировании на.NET, в том числе Silverlight и Windows Phone. Джеф Просиз является опытным программистом и одним из основателей Wintellect. |