Rychlý start: Vytvoření aplikace pro Android pomocí Azure Maps
V tomto článku se dozvíte, jak přidat Azure Maps do aplikace pro Android. Provede vás těmito základními kroky:
- Nastavte vývojové prostředí.
- Vytvořte si vlastní účet Azure Maps.
- Získejte primární klíč Azure Maps, který se má použít v aplikaci.
- Odkazujte na knihovny Azure Maps z projektu.
- Přidejte do aplikace ovládací prvek Azure Maps.
Poznámka:
Vyřazení sady Azure Maps Android SDK z provozu
Nativní sada SDK služby Azure Maps pro Android je teď zastaralá a bude vyřazena 31. 31. 25. Pokud se chcete vyhnout přerušení služeb, proveďte migraci do webové sady SDK služby Azure Maps do 31. 31. 25. Další informace najdete v průvodci migrací sady Azure Maps Android SDK.
Požadavky
Předplatné služby Microsoft Azure. Pokud ještě nemáte předplatné Azure, vytvořte si napřed bezplatný účet.
Android Studio. Pokud android Studio nemáte, můžete ho zdarma získat od Googlu.
Poznámka:
Mnoho pokynů v tomto rychlém startu bylo vytvořeno pomocí Android Studio Arctic Fox (2020.3.1). Pokud používáte jinou verzi Android Studia, můžou se kroky specifické pro Android Studio lišit.
Vytvoření účtu Azure Maps
Pomocí následujících kroků vytvořte nový účet Azure Maps:
V levém horním rohu webu Azure Portal vyberte Vytvořit prostředek.
Do pole Hledat na Marketplace zadejte Azure Maps a pak ve výsledcích hledání vyberte Azure Maps.
Vyberte tlačítko Vytvořit.
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. Vyberte Gen2.
- Přečtěte si podmínky a zaškrtněte políčko, abyste potvrdili, že jste si přečetli a souhlasíte s licenčním prohlášením a prohlášením o zásadách ochrany osobních údajů.
- Vyberte tlačítko Zkontrolovat a vytvořit.
- Jakmile ověříte, že je všechno na stránce Zkontrolovat a vytvořit správné, vyberte tlačítko Vytvořit.
Získání klíče předplatného pro váš účet
Po úspěšném vytvoření účtu Azure Maps načtěte klíč předplatného, který vám umožní dotazovat se na rozhraní MAPS API.
- Na portálu otevřete svůj účet Azure Maps.
- V levém podokně vyberte Ověřování.
- Zkopírujte primární klíč a uložte ho místně, abyste ho mohli použít později v tomto kurzu.
Poznámka:
Pro účely zabezpečení se doporučuje otáčet mezi primárními a sekundárními klíči. Pokud chcete klíče otočit, aktualizujte aplikaci tak, aby používala sekundární klíč, nasadíte ho a pak stisknete tlačítko cyklu nebo aktualizace vedle primárního klíče a vygenerujete nový primární klíč. Starý primární klíč bude zakázán. Další informace o obměně klíčů najdete v tématu Nastavení služby Azure Key Vault s obměnou klíčem a auditování.
Vytvoření projektu v Android Studiu
Provedením následujících kroků vytvořte nový projekt s prázdnou aktivitou v Android Studiu:
Spusťte Android Studio a v nabídce Soubor vyberte Nový a pak Nový projekt...
Na obrazovce Nový projekt vyberte v seznamu Šablony na levé straně obrazovky telefon a tablet.
V seznamu šablon vyberte Prázdnou aktivitu a pak vyberte Další.
Na obrazovce Prázdná aktivita zadejte hodnoty pro následující pole:
- Název. Zadejte AzureMapsApp.
- Název balíčku. Použijte výchozí com.example.azuremapsapp.
- Umístění pro uložení K uložení souborů projektu použijte výchozí nebo vyberte nové umístění. Nepoužívejte mezery v cestě nebo názvu souboru kvůli potenciálním problémům s nástroji sady NDK.
- Jazyk. Vyberte Kotlin nebo Javu.
- Minimální sada SDK. Vyberte
API 21: Android 5.0.0 (Lollipop)
jako minimální sadu SDK. Jedná se o nejstarší verzi podporovanou sadou Azure Maps Android SDK.
Vyberte Dokončit a vytvořte nový projekt.
Další nápovědu k instalaci Android Studia a vytvoření nového projektu najdete v dokumentaci k Android Studiu.
Nastavení virtuálního zařízení
Android Studio umožňuje nastavit na počítači virtuální zařízení s Androidem. To vám může pomoct při testování aplikace během vývoje.
Nastavení virtuálního zařízení s Androidem (AVD):
- V nabídce Nástroje vyberte Správce AVD.
- Zobrazí se virtuální Správce zařízení Androidu. Vyberte Vytvořit virtuální zařízení.
- V kategorii Telefony vyberte Nexus 5X a pak vyberte Další.
Další informace o nastavení AVD najdete v tématu Vytvoření a správa virtuálních zařízení v dokumentaci k Android Studiu.
Instalace sady Azure Maps Android SDK
Dalším krokem při sestavování aplikace je instalace sady Azure Maps Android SDK. Pokud chcete nainstalovat sadu SDK, proveďte následující kroky:
Otevřete soubor nastavení projektu settings.gradle a do oddílu úložišť přidejte následující kód:
maven {url "https://atlas.microsoft.com/sdk/android"}
Ve stejném souboru nastavení projektu settings.gradle změňte úložištěMode na
PREFER_SETTINGS
:repositoriesMode.set(RepositoriesMode.PREFER_SETTINGS)
Soubor nastavení projektu by se teď měl zobrazit takto:
Otevřete soubor gradle.properties projektu, ověřte, zda
android.useAndroidX
jsou obaandroid.enableJetifier
nastavené natrue
.Pokud soubor gradle.properties neobsahuje
android.useAndroidX
aandroid.enableJetifier
přidejte na konec souboru další dva řádky:android.useAndroidX=true android.enableJetifier=true
Otevřete soubor build.gradle aplikace a postupujte takto:
Ověřte, že je minSdk projektu 21 nebo vyšší.
Ujistěte se, že je v
compileOptions
oddíluAndroid
následující:compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 }
Aktualizujte blok závislostí a přidejte novou závislost implementace pro nejnovější sadu Azure Maps Android SDK:
implementation 'com.azure.android:azure-maps-control:1.+'
V nabídce Soubor vyberte Synchronizovat projekt se soubory Gradle.
Přidejte fragment mapy do hlavní aktivity:
<com.azure.android.maps.control.MapControl android:id="@+id/mapcontrol" android:layout_width="match_parent" android:layout_height="match_parent" />
Pokud chcete aktualizovat hlavní aktivitu, vyberte v navigátoru Projectu rozložení >aplikace > res > activity_main.xml:
V souboru MainActivity.java:
- Přidání importů pro sadu Azure Maps SDK
- Nastavte ověřovací informace služby Azure Maps.
- Získejte instanci ovládacího prvku mapování v metodě onCreate .
Tip
Nastavením ověřovacích informací globálně ve
AzureMaps
třídě pomocísetSubscriptionKey
metod nebosetAadProperties
metod nebudete muset do každého zobrazení přidávat ověřovací informace.Ovládací prvek mapy obsahuje své vlastní metody životního cyklu pro správu životního cyklu OpenGL Androidu. Tyto metody životního cyklu musí být volána přímo z obsahující aktivity. Chcete-li správně volat metody životního cyklu ovládacího prvku mapování, přepište následující metody životního cyklu v aktivitě, která obsahuje ovládací prvek mapování, a pak zavolejte příslušnou metodu řízení mapování.
onCreate(Bundle)
onDestroy()
onLowMemory()
onPause()
onResume()
onSaveInstanceState(Bundle)
onStart()
onStop()
Upravte soubor MainActivity.java následujícím způsobem:
package com.example.azuremapsapp; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; 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-Primary-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); }}
V souboru MainActivity.kt:
- přidání importů pro sadu Azure Maps SDK
- nastavení ověřovacích informací o službě Azure Maps
- get the map control instance in the onCreate method
Tip
Nastavením ověřovacích informací globálně ve
AzureMaps
třídě pomocísetSubscriptionKey
metod nebosetAadProperties
metod nebudete muset do každého zobrazení přidávat ověřovací informace.Ovládací prvek mapy obsahuje své vlastní metody životního cyklu pro správu životního cyklu OpenGL Androidu. Tyto metody životního cyklu musí být volána přímo z obsahující aktivity. Chcete-li správně volat metody životního cyklu ovládacího prvku mapování, přepište následující metody životního cyklu v aktivitě, která obsahuje ovládací prvek mapování. A musíte volat příslušnou metodu ovládacího prvku mapování.
onCreate(Bundle)
onDestroy()
onLowMemory()
onPause()
onResume()
onSaveInstanceState(Bundle)
onStart()
onStop()
Upravte soubor MainActivity.kt následujícím způsobem:
package com.example.azuremapsapp; 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-Primary-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) } }
Na panelu nástrojů 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.
Sestavení aplikace pro Android Studio trvá několik sekund. Po dokončení sestavení můžete aplikaci otestovat na emulovaném zařízení s Androidem. Měla by se zobrazit mapa podobná této:
Tip
Ve výchozím nastavení Android znovu načte aktivitu, když se změní orientace nebo je skrytá klávesnice. Výsledkem je resetování stavu mapy (znovu načtěte mapu, která resetuje zobrazení a znovu načte data do počátečního stavu). Chcete-li zabránit tomu, aby k tomu došlo, přidejte do manifestu následující: android:configChanges="orientation|keyboardHidden"
. Tím se aktivita znovu načte a místo toho se zavolá onConfigurationChanged()
, když se orientace změnila nebo je klávesnice skrytá.
Vyčištění prostředků
Upozorňující
Kurzy uvedené v části Další kroky podrobně uvádějí, jak používat a konfigurovat Azure Maps s vaším účtem. Pokud chcete pokračovat v kurzech, nevyčistíte prostředky vytvořené v tomto rychlém startu.
Pokud nechcete pokračovat v kurzech, proveďte tyto kroky a vyčistíte prostředky:
- Zavřete Android Studio a odstraňte aplikaci, kterou jste vytvořili.
- Pokud jste aplikaci otestovali na externím zařízení, odinstalujte aplikaci z daného zařízení.
Pokud nechcete pokračovat ve vývoji pomocí sady Azure Maps Android SDK:
- Přejděte na stránku webu Azure Portal. Na hlavní stránce portálu vyberte Všechny prostředky .
- Vyberte svůj účet Azure Maps. V horní části stránky vyberte Odstranit.
- Pokud nechcete pokračovat v vývoji aplikací pro Android, odinstalujte Android Studio.
Další příklady kódu najdete v těchto příručkách:
- Správa ověřování v Azure Maps
- Změna stylů mapy v mapách Androidu
- Přidání vrstvy symbolů
- Přidání vrstvy čáry
- Přidání polygonové vrstvy
Další kroky
V tomto rychlém startu jste vytvořili účet Azure Maps a vytvořili ukázkovou aplikaci. Další informace o Službě Azure Maps najdete v následujícím kurzu: