Rychlý start: Vytvoření aplikace pro Android pomocí Azure Mapy

Tento článek ukazuje, jak přidat azure Mapy do aplikace pro Android. Provede vás těmito základními kroky:

  • Nastavení vývojového prostředí
  • Vytvořte si vlastní Mapy Azure.
  • Získejte primární Mapy Azure pro použití v aplikaci.
  • Z projektu Mapy referenční knihovny Azure.
  • Přidání ovládacího Mapy Azure Do aplikace

Požadavky

  1. Vytvořte účet azure Mapy přihlášením k Azure Portal. Pokud ještě nemáte předplatné Azure, vytvořte si napřed bezplatný účet.
  2. Nastavení účtu azure Mapy
  3. Získejte primární klíč předplatného, označované také jako primární klíč nebo klíč předplatného. Další informace o ověřování v Azure Mapy najdete v tématu Správa ověřování v Azure Mapy.
  4. Stáhněte Android Studio zdarma od Googlu.

Vytvoření účtu Azure Maps

Vytvořte nový účet Azure Mapy pomocí následujících kroků:

  1. V levém horním rohu webu Azure Portal klikněte na Vytvořit prostředek.

  2. Do pole Hledat na Marketplace zadejte Azure Mapy.

  3. Ve výsledcích vyberte Azure Mapy. Klikněte na tlačítko Vytvořit, které se zobrazí pod mapou.

  4. Na stránce Vytvořit účet Maps zadejte následující hodnoty:

    • Předplatné, které chcete pro tento účet použít.
    • Název skupiny prostředků pro tento účet. Můžete zvolit možnost Vytvořit novou nebo Použít existující skupinu prostředků.
    • Název vašeho nového účtu.
    • Cenová úroveň pro tento účet.
    • Přečtěte si Licenční podmínky a Prohlášení o zásadách ochrany osobních údajů a zaškrtnutím příslušného políčka podmínky přijměte.
    • Klikněte na tlačítko Vytvořit.

    Vytvoření účtu Maps na portálu

Získání primárního klíče pro váš účet

Po Mapy účtu úložiště načtěte primární klíč, který vám umožní dotazovat se na Mapy API.

  1. Otevřete svůj účet Maps na portálu.
  2. V části nastavení vyberte Ověřování.
  3. Zkopírujte do schránky Primární klíč. Místně ho uložte, abyste ho mohli použít později v tomto kurzu.

Poznámka

Pokud místo klíče předplatného Azure použijete Mapy klíč předplatného Azure, vaše mapa se nevykreslí správně. Z bezpečnostních důvodů se také doporučuje obměně mezi primárním a sekundárním klíčem. Pokud chcete klíče obměnět, aktualizujte aplikaci tak, aby se používá sekundární klíč, nasaďte ji a potom stiskněte tlačítko cyklu/aktualizace vedle primárního klíče a vygenerování nového primárního klíče. Starý primární klíč bude zakázán. Další informace o rotaci klíčů najdete v tématu Nastavení Azure Key Vault pomocí rotace klíčů a auditování.

Získání primárního klíče azure Mapy key v Azure Portal

Vytvoření projektu v Android Studio

Nejprve vytvořte nový projekt s prázdnou aktivitou. Provedením těchto kroků vytvořte Android Studio projektu:

  1. V části Zvolte projekt vyberte Telefon a Tablet. Vaše aplikace se bude spouštět v tomto provedení.
  2. Na kartě Telefon a Tablet vyberte Prázdná aktivita a pak vyberte Další.
  3. V části Configure your project (Konfigurace API 21: Android 5.0.0 (Lollipop) projektu) vyberte jako minimální sadu SDK. Toto je nejstarší verze podporovaná službou Azure Mapy Android SDK.
  4. Přijměte výchozí hodnoty a Activity Name Layout Name vyberte Dokončit.

Další nápovědu Android Studio instalaci a vytvoření nového projektu najdete v Android Studio Android Studio dokumentaci k aplikacím.

Vytvoření projektu v Android Studiu

Nastavení virtuálního zařízení

Android Studio umožňuje nastavit virtuální zařízení s Androidem na vašem počítači. To vám může pomoct otestovat aplikaci během vývoje. Pokud chcete nastavit virtuální zařízení, vyberte ikonu Správce virtuálního zařízení s Androidem (AVD) v pravém horním rohu obrazovky projektu a pak vyberte Vytvořit virtuální zařízení. Ke správci AVD se dostanete také tak, že na panelu nástrojů vyberete Nástroje > Android > AVD Manager. V kategorii Telefony vyberte Nexus 5X a pak vyberte Další.

Další informace o nastavení služby AVD najdete v Android Studio dokumentaci.

Android Emulator

Instalace služby Azure Mapy Android SDK

Dalším krokem při vytváření aplikace je instalace služby Azure Mapy Android SDK. Sadu SDK nainstalujete provedením těchto kroků:

  1. Otevřete soubor build.gradle nejvyšší úrovně a přidejte následující kód do oddílu všech projektů , bloku úložišť:

    maven {
        url "https://atlas.microsoft.com/sdk/android"
    }
    
  2. Aktualizujte soubor app/build.gradle a přidejte do něj následující kód:

    1. Ujistěte se, že hodnota minSdkVersion vašeho projektu je na rozhraní API 21 nebo vyšší.

    2. Do části Android přidejte následující kód:

      compileOptions {
          sourceCompatibility JavaVersion.VERSION_1_8
          targetCompatibility JavaVersion.VERSION_1_8
      }
      
    3. Aktualizujte blok závislostí a přidejte nový řádek závislosti implementace pro nejnovější verzi Azure Mapy Android SDK:

      implementation "com.azure.android:azure-maps-control:1.0.0"
      

      Poznámka

      Číslo verze můžete nastavit na 0+, aby váš kód vždy odkazovat na nejnovější verzi.

    4. Na panelu nástrojů přejděte na File (Soubor) a pak klikněte na Sync Project with Gradle Files (Synchronizovat soubory Gradle).

  3. Přidejte fragment mapy k hlavní aktivitě (aktivita rozložení > > _main.xml):

    <com.azure.android.maps.control.MapControl
        android:id="@+id/mapcontrol"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        />
    
  1. V souboru MainActivity.java budete muset:

    • přidání importů pro sadu Azure Mapy SDK
    • nastavení ověřovacích informací Mapy Azure
    • Získání instance mapy ovládacího prvku v metodě onCreate

    Nastavení ověřovacích informací ve třídě globálně pomocí metod nebo to zajistí, že ověřovací informace nebudete muset přidávat AzureMaps setSubscriptionKey do každého setAadProperties zobrazení.

    Mapový ovládací prvek obsahuje vlastní metody životního cyklu pro správu životního cyklu OpenGL Androidu. Tyto metody životního cyklu se musí volat přímo z obsahující aktivity. Aby vaše aplikace správně volala metody životního cyklu ovládacího prvku mapování, je nutné přepsat následující metody životního cyklu v aktivitě, která obsahuje mapový ovládací prvek. A je nutné volat příslušnou metodu mapy ovládacího prvku.

    • onCreate(Bundle)
    • onDestroy()
    • onLowMemory()
    • onPause()
    • onResume()
    • onSaveInstanceState(Bundle)
    • onStart()
    • onStop()

    Upravte soubor MainActivity.java následujícím způsobem:

    package com.example.myapplication;
    
    import androidx.appcompat.app.AppCompatActivity;
    import com.azure.android.maps.control.AzureMaps;
    import com.azure.android.maps.control.MapControl;
    import com.azure.android.maps.control.layer.SymbolLayer;
    import com.azure.android.maps.control.options.MapStyle;
    import com.azure.android.maps.control.source.DataSource;
    
    public class MainActivity extends AppCompatActivity {
    
    static {
        AzureMaps.setSubscriptionKey("<Your Azure Maps subscription key>");
    
        //Alternatively use Azure Active Directory authenticate.
        //AzureMaps.setAadProperties("<Your aad clientId>", "<Your aad AppId>", "<Your aad Tenant>");
    }
    
    MapControl mapControl;
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    
        mapControl = findViewById(R.id.mapcontrol);
    
        mapControl.onCreate(savedInstanceState);
    
        //Wait until the map resources are ready.
        mapControl.onReady(map -> {
            //Add your post map load code here.
    
        });
    }
    
    @Override
    public void onResume() {
        super.onResume();
        mapControl.onResume();
    }
    
    @Override
    protected void onStart(){
        super.onStart();
        mapControl.onStart();
    }
    
    @Override
    public void onPause() {
        super.onPause();
        mapControl.onPause();
    }
    
    @Override
    public void onStop() {
        super.onStop();
        mapControl.onStop();
    }
    
    @Override
    public void onLowMemory() {
        super.onLowMemory();
        mapControl.onLowMemory();
    }
    
    @Override
    protected void onDestroy() {
        super.onDestroy();
        mapControl.onDestroy();
    }
    
    @Override
    protected void onSaveInstanceState(Bundle outState) {
        super.onSaveInstanceState(outState);
        mapControl.onSaveInstanceState(outState);
    }}
    

    Poznámka

    Po dokončení předchozích kroků se může zobrazit upozornění z Android Studio o některém kódu. Pokud chcete tato upozornění vyřešit, importujte třídy odkazované v MainActivity.java . Tyto třídy můžete automaticky importovat výběrem Alt + Enter možnosti ( na Option + Return počítači Mac).

  1. V souboru MainActivity.kt budete muset:

    • přidání importů pro sadu Azure Mapy SDK
    • nastavení ověřovacích informací Mapy Azure
    • Získání instance mapy ovládacího prvku v metodě onCreate

    Nastavení ověřovacích informací ve třídě globálně pomocí metod nebo to zajistí, že ověřovací informace nebudete muset přidávat AzureMaps setSubscriptionKey do každého setAadProperties zobrazení.

    Mapový ovládací prvek obsahuje vlastní metody životního cyklu pro správu životního cyklu OpenGL Androidu. Tyto metody životního cyklu se musí volat přímo z obsahující aktivity. Aby vaše aplikace správně volala metody životního cyklu ovládacího prvku mapování, je nutné přepsat následující metody životního cyklu v aktivitě, která obsahuje mapový ovládací prvek. A je nutné volat příslušnou metodu mapy ovládacího prvku.

    • onCreate(Bundle)
    • onDestroy()
    • onLowMemory()
    • onPause()
    • onResume()
    • onSaveInstanceState(Bundle)
    • onStart()
    • onStop()

    Upravte soubor MainActivity.kt následujícím způsobem:

    package com.example.myapplication;
    
    import androidx.appcompat.app.AppCompatActivity
    import android.os.Bundle
    import com.azure.android.maps.control.AzureMap
    import com.azure.android.maps.control.AzureMaps
    import com.azure.android.maps.control.MapControl
    import com.azure.android.maps.control.events.OnReady
    
    class MainActivity : AppCompatActivity() {
    
        companion object {
            init {
                AzureMaps.setSubscriptionKey("<Your Azure Maps subscription key>");
    
                //Alternatively use Azure Active Directory authenticate.
                //AzureMaps.setAadProperties("<Your aad clientId>", "<Your aad AppId>", "<Your aad Tenant>");
            }
        }
    
        var mapControl: MapControl? = null
    
        override fun onCreate(savedInstanceState: Bundle?) {
            super.onCreate(savedInstanceState)
            setContentView(R.layout.activity_main)
    
            mapControl = findViewById(R.id.mapcontrol)
    
            mapControl?.onCreate(savedInstanceState)
    
            //Wait until the map resources are ready.
            mapControl?.onReady(OnReady { map: AzureMap -> })
        }
    
        public override fun onStart() {
            super.onStart()
            mapControl?.onStart()
        }
    
        public override fun onResume() {
            super.onResume()
            mapControl?.onResume()
        }
    
        public override fun onPause() {
            mapControl?.onPause()
            super.onPause()
        }
    
        public override fun onStop() {
            mapControl?.onStop()
            super.onStop()
        }
    
        override fun onLowMemory() {
            mapControl?.onLowMemory()
            super.onLowMemory()
        }
    
        override fun onDestroy() {
            mapControl?.onDestroy()
            super.onDestroy()
        }
    
        override fun onSaveInstanceState(outState: Bundle) {
            super.onSaveInstanceState(outState)
            mapControl?.onSaveInstanceState(outState)
        }
    }
    

    Poznámka

    Po dokončení předchozích kroků se může zobrazit upozornění z Android Studio o některém kódu. Pokud chcete tato upozornění vyřešit, importujte třídy odkazované v MainActivity.kt . Tyto třídy můžete automaticky importovat výběrem Alt + Enter možnosti ( na Option + Return počítači Mac).

  1. Vyberte tlačítko Spustit, jak je znázorněno na následujícím obrázku (nebo stiskněte Control + R na Macu) a sestavte aplikaci.

    Klikněte na Run (Spustit).

Sestavení aplikace bude trvat několik sekund Android Studio. Po dokončení sestavení můžete aplikaci otestovat v emulovaném zařízení se systémem Android. Měla by se zobrazit mapa, jako je tato:

Azure Maps v aplikaci pro Android

Vyčištění prostředků

Upozornění

kurzy uvedené v části další kroky podrobně popisují, jak použít a nakonfigurovat Azure Maps s vaším účtem. Pokud se chystáte pokračovat v kurzech, neprovádějte čištění prostředků vytvořených v rámci tohoto rychlého startu.

Pokud neplánujete pokračovat v kurzech, proveďte tyto kroky a vyčistěte prostředky:

  1. Zavřete Android Studio a odstraňte aplikaci, kterou jste vytvořili.
  2. Pokud jste aplikaci otestovali na externím zařízení, odinstalujte ji z tohoto zařízení.

pokud neplánujete pokračovat v vývoji s Azure Maps Android SDK:

  1. Přejděte na stránku Azure Portal. Na hlavní stránce portálu vyberte všechny prostředky . Případně klikněte na ikonu nabídky v levém horním rohu. Vyberte Všechny prostředky.
  2. klikněte na účet Azure Maps. V horní části stránky klikněte na Odstranit.
  3. Pokud neplánujete pokračovat v vývoji aplikací pro Android, odinstalujte Android Studio.

Další příklady kódu naleznete v následujících příručkách:

Další kroky

v tomto rychlém startu jste vytvořili účet Azure Maps a vytvořili jste ukázkovou aplikaci. Další informace o Azure Maps najdete v následujících kurzech: