Create an Android app

Overview

This tutorial shows you how to add a cloud-based backend service to an Android mobile app by using an Azure mobile app backend. You will create both a new mobile app backend and a simple Todo list Android app that stores app data in Azure.

Completing this tutorial is a prerequisite for all other Android tutorials about using the Mobile Apps feature in Azure App Service.

Prerequisites

To complete this tutorial, you need the following:

Create a new Azure 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.

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#)

    Note

    If you use the iOS project you need to download "azuresdk-iOS-*.zip" from latest GitHub release. Unzip and add the MicrosoftAzureMobile.framework file to the project's root.

  2. 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.

    • 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

    • 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.

  3. Azure Mobile Apps has SDKs for .NET and Node.js backends.

    • Node.js backend

      If you’re going to use Node.js quickstart app, follow the instructions below.

      1. In the Azure portal, go to Easy Tables, you will see this screen.

        Node Easy Tables

      2. Make sure the SQL connection string is already added in the Configuration tab. Then check the box of I acknowledge that this will overwrite all site contents and click the Create TodoItem table button.

        Node Easy Tables Configuration

      3. In Easy Tables, click the + Add button.

        Node Easy Tables Add Button

      4. Create a TodoItem table with anonymous access.

        Node Easy Tables Add Table

    • .NET backend

      If you’re going to use .NET quickstart app, follow the instructions below.

      1. Download the Azure Mobile Apps .NET server project from the azure-mobile-apps-quickstarts repository.

      2. Build the .NET server project locally in Visual Studio.

      3. In Visual Studio, open Solution Explorer, right-click on ZUMOAPPNAMEService project, click Publish, you will see a Publish to App Service window. If you are working on Mac, check out other ways to deploy the app here.

        Visual studio publishing

      4. Select App Service as publish target, then click Select Existing, then click the Publish button at the bottom of the window.

      5. You will need to log into Visual Studio with your Azure subscription first. Select the Subscription, Resource Group, and then select the name of your app. When you are ready, click OK, this will deploy the .NET server project that you have locally into the App Service backend. When deployment finishes, you will be redirected to http://{zumoappname}.azurewebsites.net/ in the browser.

        Backend is up

Run the Android app

  1. Open the project using Android Studio, using Import project (Eclipse ADT, Gradle, etc.). Make sure you make this import selection to avoid any JDK errors.

  2. Open the file ToDoActivity.java in this folder - ZUMOAPPNAME/app/src/main/java/com/example/zumoappname. The application name is ZUMOAPPNAME.

  3. 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.

  4. In onCreate() method, replace ZUMOAPPURL parameter with public endpoint above.

    new MobileServiceClient("ZUMOAPPURL", this).withFilter(new ProgressFilter());

    becomes

    new MobileServiceClient("https://test123.azurewebsites.net", this).withFilter(new ProgressFilter());

  5. Press the Run 'app' button to build the project and start the app in the Android simulator.

  6. In the app, type meaningful text, such as Complete the tutorial and then click the 'Add' button. This sends a POST request to the Azure backend you deployed earlier. The backend inserts data from the request into the TodoItem SQL table, and returns information about the newly stored items back to the mobile app. The mobile app displays this data in the list. Quickstart Android