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

Основы разработки приложений, взаимодействующих с веб-сервисами

Важные API

Рассмотрим некоторые API и дополнительные материалы, о которых важно знать при разработке сетевой функциональности приложений. Нужно отметить, что создание таких приложений не ограничивается только использованием API для работы с сетевыми соединениями. Фактически, полноценное приложение может использовать большой набор возможностей Windows Phone. Среди них – и работа с сетью, и работа с хранилищами данных, и со встроенными датчиками (GPS-датчик для определения местоположения, акселерометр для организации управления приложением), со встроенной камерой, микрофоном устройства, взаимодействие с интерфейсом системы (динамические плитки, уведомления). Что касается сетевых возможностей, среди них можно отметить следующие.

В пространстве имен Microsoft.Phone.Net.NetworkInformation (http://msdn.microsoft.com/en-us/library/windowsphone/develop/microsoft.phone.net.networkinformation%28v=vs.105%29.aspx) имеются инструменты для получения сведений о сетевых возможностях устройства, о сетевых интерфейсах. Его можно использовать для проверки возможностей сети перед принятием решения о том, насколько интенсивно приложение может использовать эти возможности. Например, класс DeviceNetworkInformation из этого пространства имен позволяет получить сведения о доступности возможностей по передаче данных, сведения о сетевых интерфейсах устройства.

В пространстве имен System.Net (http://msdn.microsoft.com/en-us/library/windowsphone/develop/btdf6a7e%28v=vs.105%29.aspx) можно обнаружить множество инструментов для организации сетевого взаимодействия приложений. Например, здесь находятся классы WebRequest, HttpWebRequest, WebClient, и другие, непосредственно использующиеся при организации с сетевыми службами.

В пространстве имен System.Net.Sockets (http://msdn.microsoft.com/en-us/library/windowsphone/develop/system.net.sockets%28v=vs.105%29.aspx) можно найти средства для работы с сокетами.

Для организации взаимодействия с веб-службами используют классы System.Net.WebClient (http://msdn.microsoft.com/en-us/library/windowsphone/develop/system.net.webclient%28v=vs.105%29.aspx) используется для организации отправки и получения данных. Класс System.Net.HttpWebRequest (http://msdn.microsoft.com/en-us/library/windowsphone/develop/system.net.httpwebrequest%28v=vs.105%29.aspx) используется для схожих целей с ориентацией на HTTP.

Элемент управления Microsoft.Phone.Controls.WebBrowser (http://msdn.microsoft.com/EN-US/library/windowsphone/develop/microsoft.phone.controls.webbrowser%28v=vs.105%29.aspx) позволяет встраивать в приложение функциональность веб-браузера.

Класс Microsoft.Phone.Tasks.WebBrowserTask (http://msdn.microsoft.com/en-us/library/windowsphone/develop/ff428757%28v=vs.105%29.aspx) позволяет вызывать веб-браурез из приложения. Например – для открытия какой-либо веб-страницы в браузере вне приложения.

Дополнительные сведения о возможностях разработки сетевых приложений для Windows Phone можно найти на странице "Возможности связи в Windows Phone" (http://msdn.microsoft.com/en-us/library/windowsphone/develop/ff637518%28v=vs.105%29.aspx). Здесь имеются ссылки на руководства по работе с теми или иными возможностями. В поиске справочных сведений и руководств не стоит забывать о разделах с перечнем дополнительных материалов (See Also), который обычно расположен в нижней части страницы справочной информации по API.

Выводы

В данной лекции мы рассмотрели основные положения, касающиеся разработки приложений для Windows Phone, взаимодействующих с сетевыми службами. Практически все существующие приложения так или иначе используют подобные службы. Например, даже если приложения напрямую не ориентированы на работу с каким-либо сервисом, они могут позволять пользователям сохранять данные в облачной службе SkyDrive и загружать их оттуда, могут предусматривать отправку каких-либо данных (обычно это касается игр и игровых рекордов) в собственную службу статистики и т.д. В любом случае, учитывая высокую доступность подключения к Интернету, практически любому приложению не повредит наличие каких-либо сетевых функций.

Задание

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

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

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