Create a Xamarin.Android App

Overview

This tutorial shows you how to add a cloud-based backend service to a Xamarin.Android app. For more information, see What are Mobile Apps.

A screenshot from the completed app is below:

Completing this tutorial is a prerequisite for all other Mobile Apps tutorials for Xamarin.Android apps.

Prerequisites

To complete this tutorial, you need the following prerequisites:

Create an Azure Mobile App backend

Follow these steps to create a Mobile App backend.

  1. Sign in to the Azure portal.

  2. Click Create a resource.

  3. In the search box, type Mobile Apps.

  4. In the results list, select Mobile App, and then select Create.

  5. Choose a unique App name. This will also be part of the domain name for your App Service.

  6. Select the Subscription for this mobile app.

  7. Under Resource Group, select an existing resource group or create a new one (using the same name as your app).

  8. Click Create. Wait a few minutes for the service to be deployed successfully before proceeding. Watch the Notifications (bell) icon in the portal header for status updates.

You have now provisioned an Azure Mobile App backend that can be used by your mobile client applications. Next, download a server project for a simple "todo list" backend and publish it to Azure.

Create a database connection and configure the client and server project

  1. Download the client SDK quickstarts for the following platforms:

    iOS (Objective-C) iOS (Swift) Android (Java) Xamarin.iOS Xamarin.Android Xamarin.Forms Cordova Windows (C#)

  2. Azure Mobile Apps support .NET and Node backend SDK. Depending on your app type, download the .NET or Node project for open source repository.

  3. You will have to add a database connection or connect to an existing connection. First, determine whether you’ll create a data store or use an existing one.

  4. Create a new data store : If you’re going to create a data store, use the following quickstart:

    Quickstart: Getting started with single databases in Azure SQL Database

  5. Existing data source : Follow the instructions below if you want to use an existing database connection

    1. SQL Database Connection String format - Data Source=tcp:{your_SQLServer},{port};Initial Catalog={your_catalogue};User ID={your_username};Password={your_password}

      {your_SQLServer} Name of the server, this can be found in the overview page for your database and is usually in the form of “server_name.database.windows.net”. {port} usually 1433. {your_catalogue} Name of the database. {your_username} User name to access your database. {your_password} Password to access your database.

      Learn more about SQL Connection String format

    2. Add the connection string to your mobile app In App Service, you can manage connection strings for your application by using the Configuration option in the menu.

      To add a connection string:

      1. Click on the Application settings tab.

      2. Click on [+] New connection string.

      3. You will need to provide Name, Value and Type for your connection string.

      4. Type Name as MS_TableConnectionString

      5. Value should be the connecting string you formed in the step before.

      6. If you are adding a connection string to a SQL Azure database choose SQLAzure under type.

Run the Xamarin.Android app

  1. Open the Xamarin.Android project.

  2. Go to the Azure portal and navigate to the mobile app that you created. On the Overview blade, look for the URL which is the public endpoint for your mobile app. Example - the sitename for my app name "test123" will be https://test123.azurewebsites.net.

  3. Open the file ToDoActivity.cs in this folder - xamarin.android/ZUMOAPPNAME/ToDoActivity.cs. The application name is ZUMOAPPNAME.

  4. In ToDoActivity class, replace ZUMOAPPURL variable with public endpoint above.

    const string applicationURL = @"ZUMOAPPURL";

    becomes

    const string applicationURL = @"https://test123.azurewebsites.net";

  5. Press the F5 key to deploy and run the app.

  6. In the app, type meaningful text, such as Complete the tutorial and then click the Add button.

    Data from the request is inserted into the TodoItem table. Items stored in the table are returned by the mobile app backend, and the data appears in the list.

    Note

    You can review the code that accesses your mobile app backend to query and insert data, which is found in the ToDoActivity.cs C# file.

Troubleshooting

If you have problems building the solution, run the NuGet package manager and update the Xamarin.Android support packages. Quickstart projects might not always include the latest versions.

Please note that all the support packages referenced in your project must have the same version. The Azure Mobile Apps NuGet package has Xamarin.Android.Support.CustomTabs dependency for Android platform, so if your project uses newer support packages you need to install this package with required version directly to avoid conflicts.