Блог Сергея Пугачёва

45 дней с Windows Phone 7. День #24. WebBrowser. Часть 2. Локальный контент







Это двадцать четвёртая статья серии «45 дней с Windows Phone 7».

В Дне #18 мы подробно рассматривали возможности элемента управления «WebBrowser». После этого мне было задано достаточно много вопросов, преимущественно о том, как загружать локальные ресурсы, в первую очередь картинки, в данный элемент управления. Если картинка находится на удалённом web сервере, то проблем нет. Мы просто пишем её Url адрес. Но что делать, если картинка находится в ресурсах приложения? Ведь метод «NavigateToString» браузера не позволяет задать местоположение, загружаемых ресурсов.

На помощь нам приходит изолированное хранилище. Мы уже рассматривали данную тему в Дне #15. В изолированное хранилище можно положить HTML страницы и ресурсы к ним, такие как картинки, а после этого отобразить данные страницы в элементе управления «WebBrowser».

Читать дальше...

45 дней с Windows Phone 7. День #23. Реклама в WP7-приложениях







Это двадцать третья статья серии «45 дней с Windows Phone 7».

В предыдущей статье мы говорили о том, как сделать пробную (trial) версию Windows Phone 7 приложения. Эта версия, по сути, предназначена для того, чтобы приложение лучше продавалось. Сегодня мы узнаем, как можно заработать, даже создавая бесплатные приложения. А если говорить более конкретно, рассмотри, как можно добавить в приложения рекламу с помощью Microsoft Advertising SDK for Windows Phone 7.

С чего начать?

В первую очередь стоит посетить Microsoft Advertising pubCenter. На данном сайте описана последовательность шагов, необходимых для показа рекламы в Ваших приложениях: получение SDK, регистрация приложения, добавление рекламных элементов управления на страницы.

Так как данная серия ориентирована на разработчиков, здесь мы также рассмотрим работу с элементом управления «AdControl», служащим для показа рекламы.

Читать дальше...

45 дней с Windows Phone 7. День #22. Trial (пробная) версия приложения







Это двадцать вторая статья серии «45 дней с Windows Phone 7».

Вчера мы говорили о том, как добавить приложение (игру) в хаб «Games». Сегодня мы узнаем, как сделать триальную (Trial) – пробную версию приложения или игры. На самом деле это не какая-то специализированная версия (.xap файл будет тот же), а просто некоторые дополнительные проверки в коде, благодаря которым в процессе работы приложение может изменять функциональность в зависимости от того, в каком режиме работает: полном или пробном. При покупке приложения в Marketplace, пользователь имеет возможность сначала приложение попробовать, а если оно ему понравится – уже заплатить деньги и использовать полную версию.

Иллюстрация с сайта pocketgamer.co.uk

На иллюстрации процесса покупки видно, что внизу экрана присутствуют две кнопки – попробовать (try) и купить (buy). Типичным примером использования данной функциональности являются игры. Допустим, игра имеет 50 уровней. Тогда разработчик может в пробной версии оставить возможность пройти игру только до 5-ого уровня, а для прохождения остальных будет требоваться покупка игры.

Читать дальше...

45 дней с Windows Phone 7. День #21. Приложения и игры







Это двадцать первая статья серии «45 дней с Windows Phone 7».

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

Если Вы создадите Silverlight Windows Phone 7 приложение (или XNA игру) и запустите его на эмуляторе, то данное приложение будет отображаться в списке всех установленных приложений телефона (данный список появляется при нажатии стрелочки вправо на главном экране). Но на реальном телефоне игры отображаются не в данном списке, а в специальном хабе «Games». Есть очень простой способ сделать так, чтобы Ваши приложения тоже отображались в данном хабе. Но делать это стоит, только если приложение действительно являются игрой. Попытка разместить приложение, не являющееся игрой, в хабе «Games» – повод для отказа в публикации приложения в Marketplace.

Читать дальше...

45 дней с Windows Phone 7. День #20. Уведомления (Push Notifications)







Это двадцатая статья серии «45 дней с Windows Phone 7»

Вчера мы говорили об элементе управления «Map», который позволяет добавить картографию в Ваши приложения. Сегодня мы от элементов управления перейдём к более системным вещам. Мы рассмотрим уведомления (Push Notifications). Наверное, это одна из самых важных статей в данной серии.

Если Вы не знакомы с концепцией уведомлений, то всё достаточно просто: приложение вместо того, чтобы периодически отправлять запросы на сервер на предмет наличия новых данных, просто ждёт, когда сервер пошлёт уведомление, что новые данные появились. Более того, в некоторых случаях, когда сервер отправляет уведомление, Ваше приложение может быть даже не запущено. Ничего страшного в этом нет.

Почему уведомления?

Одним из главных преимуществ является экономия батареи телефона. Постоянная отправка запросов на сервер для проверки на наличие новых данных – это достаточно энергозатратный процесс. А для телефона заряд батарее невероятно важен. Может быть даже важнее всего остального. Его никогда не хватает. И пользователь часто предпочтёт не пользоваться Вашим приложением вообще, чем быстро сажать батарею.
Кроме того, даже если Ваше приложение не запущено, посредством уведомлений Вы можете сообщить пользователю, о том, что происходит что-то интересное, либо просто есть какая-то новая информация. Пользователь сможет открыть Ваше приложение, нажав на уведомление и уже в приложении получить дополнительную информацию.

Как работают уведомления


Читать дальше...

45 дней с Windows Phone 7. День #19. Элемент управления «Map»







Это девятнадцатая статья серии «45 дней с Windows Phone 7».
Вчера мы говорили про элемент управления «WebBrowser», с помощью которого можно отображать не только web сайты, но и произвольно сгенерированный HTML. Сегодня мы рассмотрим более специфический элемент управления, который позволяет показывать карту в Windows Phone 7 Silverlight приложениях. Название данного элемента управления весьма логично, он называется «Map» – карта.

Использование элемента управления «Map»

Перетащите элемент управления Map из Toolbox на страницу Silverlight приложения. При этом подключится соответствующее XML пространство имён:
xmlns:map="clr-namespace:Microsoft.Phone.Controls.Maps;
assembly=Microsoft.Phone.Controls.Maps"
После того как я задал позиционирование и размеры для карты, XAML код элемента управления выглядит следующим образом:
<map:Map Height="607" HorizontalAlignment="Left"
Name="myMap" VerticalAlignment="Top" Width="456" />
Читать дальше...

45 дней с Windows Phone 7. День #18. Элемент управления WebBrowser







Это восемнадцатая статья серии «45 дней с Windows Phone 7».

Что может делать элемент управления «WebBrowser»?

Очевидно, что элемент управления WebBrowser служит для просмотра Web страниц. Но полноценным браузером данный элемент управления не является, так как у него нет адресной строки, вкладок, различных диалогов и.т.д. Можно представить данный элемент управления как некий аналог «iframe» из HTML мира. Кроме того, элемент управления WebBrowser уже имеет встроенную поддержку мультитач жестов. Вам для этого делать ничего не требуется.

Важной особенностью элемента управления является то, что он поддерживает не только отображение сайтов, загружаемых из интернета, но и работу с локальным контентом. Вы можете напрямую задать HTML, который будет отображаться в WebBrowser. Можно сохранить нужные страницы в ресурсах приложения, либо даже генерировать HTML налету.

Читать дальше...

45 дней с Windows Phone 7. День #17. Элемент управления Pivot







Это семнадцатая статья серии «45 дней с Windows Phone 7».

Вчера мы говорили о том, для чего служит и как используется элемент управления «Panorama». Сегодня мы рассмотрим похожий, но всё-таки другой элемент управления, который часто путают с «Panorama» и который называется «Pivot».

Элемент управления «Pivot»

Pivot представляет собой элемент управления для создания своеобразных табов. Данный сценарий применяется в окне настроек телефона для переключения между настройками самого телефона и настройками приложений. Рассмотрим другое приложение на телефоне. Например, в календаре можно переключиться из режима «day» в режим «agenda». Данные режимы позволяют посмотреть на одни и те же данные как бы с различных сторон. Это также частый сценарий применения элемента управления «Pivot». Можно сказать даже основной сценарий. Далее приведены иллюстрации того, как всё это выглядит.

Читать дальше...

45 дней с Windows Phone 7. День #16. Элемент управления Panorama







Это шестнадцатая статья серии «45 дней с Windows Phone 7».

Вчера мы говорили про изолированное хранилище, и то, как приложения могут сохранять данные на телефоне c Windows Phone 7. Сегодня мы рассмотрим намного менее системную тему, а именно работу с элементом управления «Panorama» (Панорама :)).

Элемент управления Panorama

Если Вы смотрели презентации, посвящённые Windows Phone 7, Вы точно видели, как работает элемент управления Panorama. Он применяется очень часто, взять хотя бы те же хабы.

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

Читать дальше...

45 дней с Windows Phone 7. День #15. Изолированное хранилище







Это пятнадцатая статья серии «45 дней с Windows Phone 7».

Вчера мы говорили о многозадачности в Windows Phone 7, и о том, как сохранять данные приложения при его деактивации. Сегодня мы поговорим про сохранение данных на телефоне, подходящее для любых ситаций. Для этого мы будем использовать механизм изолированного хранилища (Isolated Storage).

Что такое изолированное хранилище?

Изолированное хранилище не новая концепция для .NET вообще и Silverlight в частности. В Silverlight оно поддерживается, начиная со второй версии. Это основной способ для Silverlight приложений сохранить данные на компьютере, а теперь и на телефоне пользователя. Хранилище называется изолированным, так как каждое приложение имеет доступ к своему собственному хранилищу, изолированному от хранилищ других приложений. Здесь и далее речь идёт об изолированном хранилище применительно к телефону. В .NET и Silverlight политики доступа к изолированному хранилищу более разнообразны. Кроме того, важным отличием от Silverlight на компьютере, является то, что в случае телефона у нас нет квоты на размер данных, записываемых в изолированное хранилище. Всё ограничивается только памятью телефона.

Читать дальше...