Создание приложения Xamarin.Android
Обзор
В этом руководстве показано, как добавить облачную серверную службу в приложение Xamarin.Android. Дополнительные сведения см. в статье Что такое мобильные приложения?.
Снимок экрана завершенного приложения приведен ниже:
Завершение изучения этого учебника является необходимым условием для работы со всеми другими учебниками, посвященными мобильным приложениям для приложений Xamarin.Android.
Предварительные требования
Для работы с данным руководством вам потребуется:
- Активная учетная запись Azure. Если у вас еще нет учетной записи, зарегистрируйтесь для использования пробной версии Azure и получите до 10 бесплатных мобильных приложений. Дополнительные сведения см. в разделе Бесплатная пробная версия Azure.
- Visual Studio с Xamarin. Инструкции см. в статье об установке и настройке Visual Studio и Xamarin.
Создание серверной части мобильного приложения Azure
Чтобы создать серверную часть мобильного приложения, выполните указанные ниже действия.
Войдите на портал Azure.
Щелкните Создать ресурс.
В поле поиска введите веб-приложение.
В списке результатов выберите веб-приложение из Marketplace.
Выберите подписку и группу ресурсов (выберите существующую группу ресурсов или создайте новую (используя то же имя, что и приложение)).
Выберите уникальное имя веб-приложения.
Выберите параметр публикации по умолчанию в качестве кода.
В стеке среды выполнения необходимо выбрать версию в разделе ASP.NET или Node. Если вы создаете серверную часть .NET, выберите версию в разделе ASP.NET. В противном случае, если вы нацелены на приложение на основе узла, выберите одну из версий из Node.
Выберите подходящую операционную систему под управлением Linux или Windows.
Выберите регион , в котором будет развернуто это приложение.
Выберите соответствующий Служба приложений План и нажмите кнопку "Проверка и создание".
В поле Группа ресурсоввыберите существующую группу ресурсов или создайте новую (с тем же именем, что и у приложения).
Нажмите кнопку Создать. Прежде чем продолжать, подождите несколько минут, пока будет выполнено развертывание службы. Проверьте значок уведомлений (колокольчик) в заголовке портала на предмет обновлений состояния.
После завершения развертывания щелкните раздел сведений о развертывании и выберите ресурс типа Microsoft.Web/sites. Откроется только что созданное веб-приложение Служба приложений.
Щелкните колонку "Конфигурация " в разделе "Параметры" и в параметрах приложения нажмите кнопку "Создать параметр приложения ".
На странице "Добавление и изменение параметра приложения " введите имякак MobileAppsManagement_EXTENSION_VERSION и значение в качестве последнего и нажмите кнопку "ОК".
Вы можете использовать это только что созданное Служба приложений веб-приложение в качестве мобильного приложения.
Итак, вы подготовили серверную часть мобильного Azure, которая может использоваться мобильными клиентскими приложениями. Теперь скачайте серверный проект со списком простых задач и опубликуйте его в Azure.
Создание подключения к базе данных и настройка клиентского и серверного проекта
Скачайте краткие руководства по клиентскому пакету SDK для следующих платформ:
iOS (Objective-C)
iOS (Swift)
Android (Java)
Xamarin.iOS
Xamarin.Android
Xamarin.Forms
Cordova
Windows (C#)Примечание
Если вы используете проект iOS, необходимо скачать azuresdk-iOS-*.zip из последней версии GitHub. Распакуйте файл и добавьте его
MicrosoftAzureMobile.framework
в корневой каталог проекта.Необходимо добавить подключение к базе данных или подключиться к существующему подключению. Во-первых, определите, будете ли вы создавать хранилище данных или использовать существующий.
Создайте новое хранилище данных: если вы собираетесь создать хранилище данных, используйте следующее краткое руководство.
Краткое руководство. Начало работы с отдельными базами данных в базе данных Azure SQL
Существующий источник данных. Если вы хотите использовать существующее подключение к базе данных, следуйте приведенным ниже инструкциям.
формат строки подключения База данных SQL —
Data Source=tcp:{your_SQLServer},{port};Initial Catalog={your_catalogue};User ID={your_username};Password={your_password}
{your_SQLServer} Имя сервера можно найти на странице обзора базы данных и обычно находится в виде "server_name.database.windows.net". {port} обычно 1433. {your_catalogue} Имя базы данных. {your_username} Имя пользователя для доступа к базе данных. {your_password} Пароль для доступа к базе данных.
Добавьте строку подключения в мобильное приложение в Служба приложений, чтобы управлять строками подключения для приложения с помощью параметра "Конфигурация" в меню.
Чтобы добавить строку подключения, выполните приведенные далее действия.
Перейдите на вкладку "Параметры приложения ".
Щелкните [+] Новая строка подключения.
Необходимо указать имя, значение и тип для строки подключения.
Имя типа как
MS_TableConnectionString
Значением должна быть строка подключения, сформированная на шаге ранее.
При добавлении строки подключения в базу данных SQL Azure выберите тип SQLAzure.
Мобильные приложения Azure имеют пакеты SDK для .NET и Node.js серверной части.
Серверная часть Node.js
Если вы собираетесь использовать приложение Node.js краткого руководства, следуйте приведенным ниже инструкциям.
В портал Azure перейдите к простым таблицам, вы увидите этот экран.
Убедитесь, что строка подключения SQL уже добавлена на вкладке "Конфигурация ". Затем установите флажок подтверждения того, что это перезапишет все содержимое сайта и нажмите кнопку "Создать таблицу TodoItem ".
В простых таблицах нажмите кнопку +Добавить .
Создайте таблицу с анонимным доступом
TodoItem
.
Сервер .NET
Если вы собираетесь использовать приложение быстрого запуска .NET, следуйте приведенным ниже инструкциям.
Скачайте проект сервера мобильных приложений Azure .NET из репозитория azure-mobile-apps-quickstarts.
Создайте проект сервера .NET локально в Visual Studio.
В Visual Studio откройте Обозреватель решений, щелкните правой кнопкой мыши
ZUMOAPPNAMEService
проект, выберите команду "Опубликовать", появитсяPublish to App Service
окно. Если вы работаете на Mac, ознакомьтесь с другими способами развертывания приложения здесь.Выберите Служба приложений в качестве целевого объекта публикации, а затем нажмите кнопку "Опубликовать" в нижней части окна.
Сначала необходимо войти в Visual Studio с подпиской Azure.
Subscription
Выберите иResource Group
выберите имя приложения. Когда все будет готово, нажмите кнопку "ОК", вы развернете проект сервера .NET локально в серверной части Служба приложений. По завершении развертывания вы будете перенаправленыhttp://{zumoappname}.azurewebsites.net/
в браузер.
Запуск приложения Xamarin.Android
Откройте проект Xamarin.Android.
Перейдите к портал Azure и перейдите к созданному мобильному приложению. В колонке
Overview
найдите URL-адрес, который является общедоступной конечной точкой для мобильного приложения. Пример: имя сайта для имени приложения test123 будет иметь значение https://test123.azurewebsites.net.Откройте файл
ToDoActivity.cs
в этой папке — xamarin.android/ZUMOAPPNAME/ToDoActivity.cs. Имя приложения —ZUMOAPPNAME
.В
ToDoActivity
классе заменитеZUMOAPPURL
переменную общедоступной конечной точкой выше.const string applicationURL = @"ZUMOAPPURL";
becomes
const string applicationURL = @"https://test123.azurewebsites.net";
Нажмите клавишу F5, чтобы развернуть и запустить приложение.
В приложении введите содержательный текст, например Работа с руководством, и нажмите кнопку Добавить.
Данные из запроса вставляются в таблицу TodoItem. Элементы, сохраненные в таблице, возвращаются серверной частью мобильного приложения, а данные отображаются в списке.
Примечание
Вы можете просмотреть код, который получает доступ к внутреннему серверу мобильного приложения для запроса и вставки данных, которые находятся в файле C# ToDoActivity.cs.
Устранение неполадок
При проблемах со сборкой проекта запустите диспетчер пакетов NuGet и выполните обновление пакетов поддержки Xamarin.Android
. Проекты быстрого запуска не всегда включают самые свежие версии.
Обратите внимание, что все пакеты поддержки, на которые содержатся ссылки в проекте Android, должны быть одной версии.
Пакет NuGet для мобильных приложений Azure имеет зависимость Xamarin.Android.Support.CustomTabs
для платформы Android, поэтому если в проекте используются пакеты поддержки более новой версии, во избежание конфликтов необходимо установить требуемую версию пакета.