Санкт-Петербургский государственный университет
Опубликован: 25.07.2014 | Доступ: свободный | Студентов: 1041 / 80 | Длительность: 17:26:00
Лекция 12:

Visual Studio 2013 и мобильные сервисы Microsoft Azure

15.4. Разработка мобильного приложения

В качестве мобильного приложения используем предоставленный в облаке пример решения saf-mobile, содержащего два проекта: уже опубликованный нами мобильный сервис saf_mobileService (п. 15.3), а также заготовку мобильного приложения saf_mobile.

Следуя рекомендациям облака [32], прежде всего инсталлируем внешние программные пакеты, используемые мобильным приложением. Как Вы уже знаете из предыдущих лекций, для управления внешними программными пакетами в среде VS 2013 реализована утилита NuGet. С его помощью находим в сети пакет для разработки мобильных приложений Microsoft.WindowsAzure.MobileServices. Этот пакет обеспечивает связь между клиентским мобильным приложением и мобильным сервисом.

На рис. 15.12 изображен ход поиска и инсталляции данного пакета.

Поиск и инсталляция с помощью утилиты NuGet пакета для разработки мобильных приложений WindowsAzure.MobileServices

увеличить изображение
Рис. 15.12. Поиск и инсталляция с помощью утилиты NuGet пакета для разработки мобильных приложений WindowsAzure.MobileServices

На рис. 15.13 изображен результат инсталляции пакета WindowsAzure.MobileServices.

Пакет WindowsAzure.MobileServices инсталлирован

увеличить изображение
Рис. 15.13. Пакет WindowsAzure.MobileServices инсталлирован

Ниже - фрагмент кода мобильного приложения (его файла App.Xaml.cs), который обеспечивает обращение из клиентского мобильного приложения к мобильному сервису:

public static MobileServiceClient MobileService =
 new MobileServiceClient(
    "https://saf-mobile.azure-mobile.net/",
    "…"  
     // пароль доступа мобильного приложения к мобильному сервису опущен
);
    

Данное мобильное приложение обращается к таблице текущих планов и дел TodoItems, поддерживаемой мобильным сервисом в виде облачной базы данных Azure.

С помощью GUI мобильного приложения saf_mobile в таблицу TodoItems могут быть введены новые строки. Затем таблица может просматриваться через облако.

Для обращения к таблице из мобильного приложения модифицируем его код, вставив в основной метод Application_Launching (запуск мобильного приложения) следующий код:

// Code to execute when the application is launching (eg, from Start)
        // This code will not execute when the application is reactivated
        private async void Application_Launching(object sender, LaunchingEventArgs e)
        {
            TodoItem item = new TodoItem { Text = "Awesome item", Complete = false };
            await App.MobileService.GetTable<TodoItem>().InsertAsync(item);

        }
    

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

Теперь запускаем мобильный сервис и мобильное приложение нажатием F5.

Мобильный сервис запускается, как показано на рис. 15.11.

Результат выбора на странице мобильного сервиса пункта Try It Out ("попробуйте его") показан на рис. 15.14. Визуализируется структура облачной базы данных TodoList и команды протокола HTTP (GET, POST и др.), которые служат для отправки информации с клиента на сервер.

Визуализация мобильным сервисом структуры облачной базы данных

увеличить изображение
Рис. 15.14. Визуализация мобильным сервисом структуры облачной базы данных

К сожалению, на нашем компьютере не запускается целиком пара "мобильное приложение - мобильный сервис", что позволяло бы,наблюдать на локальной машине их взаимосвязь. Причина в том, что компьютер не поддерживает аппаратную технологию Hyper-V (виртуализации оборудования). На компьютерах с аппаратной поддержкой технологии Hyper-V эмуляторы мобильных телефонов запускаются в свотх виртуальных машинах. На остальных компьютерах разработка мобильных приложений в среде VS 2013 Update 2 возможна, однако отладка и запуск мобильных приложений возможны только на реальных мобильных телефонах платформы Windows Phone 8 / 8.1.

Александр Калинин
Александр Калинин

Осенью прошёл курс и получил ключ. Но т.к. уже имел действующую подписку, то ключом не воспользовался. Сейчас захожу сюда, а про DreamSpark вообще ни слова. Где же мой ключ?