Поделиться через


Приступаем к работе с данными в Mobile Services

Для знакомства с возможностями платформы  вы можетеактивировать Microsoft Azure бесплатно!

Тема практической работы: использование служб Microsoft Azure для мобильных устройств при работе с данными в приложении HTML. Вы научитесь загружать приложение, сохраняющее данные в памяти, создавать новую мобильную службу и интегрировать в нее приложение. Далее вы войдете на Портал управления Microsoft Azure и просмотрите данные, измененные в ходе выполнения приложения.

Примечание

Выполнив практическую работу, вы научитесь использовать платформу Microsoft Azure с помощью служб Moblile Services для сохранения и извлечения данных из приложения HTML. Фактически, сейчас вы повторите многое из того, что уже было сделано в проекте быстрого запуска Mobile Services. Если вы только начинаете изучение Mobile Services, рекомендуем вначале выполнить практическую работу Приступаем к работе со службами Mobile Services.

В ходе практической работы мы выполним следующие действия.

  1. Загрузка проекта приложения Windows Phone 8
  2. Создание мобильной службы
  3. Добавление таблицы данных в хранилище
  4. Обновление приложения для использования Mobile Services
  5. Проверка работы приложения с Mobile Services

Для выполнения практической работы на компьютере под управлением Windows 8 вам потребуются пакеты Mobile Services SDK и Windows Phone 8 SDK.

Примечание

Чтобы выполнить практическую работу, необходимо иметь учетную запись Microsoft Azure с включенной функцией Microsoft Azure Mobile Services.

Загрузка проекта GetStartedWithData

Практическая работа построена на основе приложения GetStartedWithData для Windows Phone 8. Пользовательский интерфейс приложения аналогичен интерфейсу приложения, созданного при выполнении проекта быстрого запуска служб Mobile Services. Однако в нашем случае добавленные элементы сохраняются в локальной памяти.

1. Загрузите учебное приложение GetStartedWithData из сайта Developer Code Samples (Образцы кодов для разработчика).

2. Откройте загруженный проект в Visual Studio 2012 Express для Windows Phone 8 и просмотрите файл MainPage.xaml.cs.

Обратите внимание, что добавленные объекты TodoItem сохраняются в памяти в коллекции ObservableCollection<TodoItem>.

3. Чтобы перестроить проект и запустить приложение,нажмите клавишу F5.

4. После запуска приложения напечатайте любой текст в текстовом поле и нажмите кнопку Save (Сохранить).

Обратите внимание, что сохраненный текст отображается в списке ниже.

Создание мобильной службы на портале управления

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

1. Войдите на Портал управления Microsoft Azure.

2. Нажмите кнопку +NEW (Создать) в нижней части панели навигации.

3. Разверните список Compute (Вычисления) и Mobile Service (Мобильная служба), а затем нажмите кнопку Create (Создать).

Откроется диалоговое окно New Mobile Service (Новая мобильная служба).

4. На странице Create a mobile service (Создать мобильную службу) напечатайте имя субдомена новой мобильной службы в текстовом поле URL и дождитесь окончания проверки имени. После проверки нажмите стрелку вправо и перейдите на следующую страницу.

Откроется страница Specify database settings (Укажите параметры базы данных).

Примечание

В этой практической работе вы создадите экземпляр базы данных SQL и сервер. Эту базу данных можно будет использовать повторно и администрировать ее как любой другой экземпляр БД SQL. Если база данных находится в том же регионе, что и мобильная служба, выберите пункт Use existing Database (Использовать существующую базу данных) и укажите базу данных. Не рекомендуется использовать базу данных из другого региона: это приведет к дополнительным затратам на передачу данных и большим задержкам.

5. В поле Name (Имя) введите имя новой базы данных, а в поле Login name — имя входа в систему. Это имя администратора нового сервера базы данных SQL. Напечатайте и подтвердите пароль. Чтобы завершить процесс, нажмите кнопку подтверждения (V).

Примечание

Если пароль не отвечает минимальным требованиям или не совпадает с паролем, который запомнила система, на экране появится предупреждение.
Рекомендуем записать введенные имя пользователя и пароль. Эта информация потребуется для дальнейшего использования экземпляра базы данных SQL или сервера.

Новая мобильная служба создана и ее можно использовать в мобильных приложениях. Теперь мы добавим новую таблицу, в которой будут храниться данные приложения. Эта таблица будет использоваться приложением вместо копии коллекции в памяти устройства.

Добавление новой таблицы в мобильную службу

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

1. На Портале управления нажмите Mobile Services (Мобильные службы), а затем — только что созданную мобильную службу.

2. Перейдите на вкладку Data (Данные) и нажмите +Create (Создать).

Откроется диалоговое окно Create new table (Создать новую таблицу).

3. В поле Table name (Имя таблицы) введите ToDoItem и нажмите кнопку подтверждения (V).

Будет создана новая таблица хранилища TodoItem с заданными по умолчанию разрешениями: любой пользователь приложения получает доступ к данным таблицы и может изменять их.

Примечание

В проекте быстрого запуска Mobile Services используется то же самое имя таблицы. Однако следует заметить, что каждая таблица создается по схеме, характерной для данной мобильной службы. Это позволяет исключить конфликты данных в случаях, когда несколько мобильных служб используют одну и ту же базу данных.

4. Щелкните новую таблицу TodoItem и убедитесь, что в ней нет строк данных.

5. Откройте вкладку Columns (Столбцы) и убедитесь, что в ней имеется только один столбец id, созданный автоматически.

Минимальное требование к таблице в службе Mobile Services –– один столбец.

ПРИМЕЧАНИЕ

Если в мобильной службе включена динамическая схема, то новые столбцы будут добавляться автоматически –– при отправке объектов JSON в мобильную службу с помощью операций вставки или обновления.

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

Обновление приложения для доступа к данным с помощью мобильной службы

Теперь, когда мобильная служба готова к работе, обновим приложение, чтобы  сохранять элементы в службе Mobile Services вместо локального хранилища.

1. Если пакет Mobile Services SDK еще не установлен, сделайте это сейчас.

2. В меню Project (Проект) в Visual Studio нажмите Add Reference (Добавить ссылку), затем разверните Windows, нажмите Extensions (Расширения), установите флажок Microsoft Azure Mobile Services Managed Client (Управляемый клиент служб Microsoft Azure Mobile Services) и нажмите OK.

В результате в проект будет добавлена ссылка на клиент служб Mobile Services.

3. В файлах проекта MainPage.xaml.cs и App.xaml.cs добавьте или раскомментируйте следующий оператор using:

using Microsoft.WindowsAzure.MobileServices;

4. На Портале управления нажмите Mobile Services (Мобильные службы), а затем — только что созданную мобильную службу.

5. Откройте вкладку Dashboard (Панель мониторинга) и запишите значение Site URL (URL-адрес сайта). Затем нажмите Manage keys (Управление ключами) и запишите значение Application key (Ключ приложения).

Эти значения понадобятся вам для доступа к мобильной службе из кода приложения.

6. Откройте файл App.xaml.cs в Visual Studio, раскомментируйте код, который определяет переменную MobileService. Укажите URL-адрес приложения и его ключ (полученные от мобильной службы) в конструкторе MobileServiceClient в следующей последовательности:

Данный код создает новый экземпляр MobileServiceClient, который используется для доступа к  мобильной службе.

7. В файле MainPage.xaml.cs закомментируйте строку, которая определяет существующую коллекцию items (Элементы), и раскомментируйте следующие строки:

private MobileServiceCollectionView<TodoItem> items; private IMobileServiceTable<TodoItem> todoTable = App.MobileService.GetTable<TodoItem>();

Этот код создает коллекцию привязки сведений служб Mobile Services (items (Элементы)) и прокси-класс для таблицы базы данных SQL TodoItem (todoTable).

8.  В методе InsertTodoItem удалите строку кода, которая устанавливает свойство TodoItem.Id, добавьте к методу модификатор async и раскомментируйте следующую строку кода:

await todoTable.InsertAsync(todoItem);

Этот код вставляет новый элемент в таблицу.

9.  В методе RefreshTodoItems раскомментируйте следующую строку кода:

items = todoTable.ToCollectionView();

Происходит привязка к коллекции элементов в таблице todoTable, в которой сохраняются все объекты TodoItem, возвращенные от мобильной службы.

10.  Добавьте к методу UpdateCheckedTodoItemмодификатор async и раскомментируйте следующую строку кода:

await todoTable.UpdateAsync(item);

Этот код отправляет обновление элемента в мобильную службу.

Теперь, когда приложение обновлено для использования Mobile Services в качестве серверного хранилища, настало время проверить его работу.

Проверка работы приложения с новой мобильной службой

1. Чтобы выполнить приложение в Visual Studio, нажмите кнопку F5.

2. Вновь напечатайте текст в поле Enter new task (Ввести новую задачу) и нажмите Add (Добавить).

Новый элемент будет добавлен в мобильную службу.

3. На портале управления нажмите Mobile Services (Мобильные службы), а затем — свою мобильную службу.

4. Перейдите на вкладку Data (Данные) и нажмите Browse (Просмотреть).

Обратите внимание, что сейчас таблица TodoItem содержит данные с идентификаторами, сгенерированными службой Mobile Services. Кроме того, в нее автоматически добавлены столбцы в соответствии с классом TodoItem в приложении.

На этом мы завершим занятие "Приступаем к работе с данными .