Rövid útmutató: Android-alkalmazás létrehozása az Azure Térképek
Ez a cikk bemutatja, hogyan adhatja hozzá az Azure Térképek egy Android-alkalmazáshoz. Végigvezeti az alábbi alapvető lépéseken:
- Állítsa be a fejlesztési környezetet.
- Hozzon létre saját Azure Térképek-fiókot.
- Szerezze be az elsődleges Azure-Térképek kulcsot, amelyet az alkalmazásban használhat.
- Hivatkozzon az Azure Térképek-kódtárakra a projektből.
- Adjon hozzá egy Azure-Térképek vezérlőt az alkalmazáshoz.
Feljegyzés
Az Azure Térképek Android SDK kivonása
Az Androidhoz készült Azure Térképek Natív SDK elavult, és 25.31-én megszűnik. A szolgáltatáskimaradások elkerülése érdekében 25.31-ig migráljon az Azure Térképek Web SDK-ba. További információ: Az Azure Térképek Android SDK migrálási útmutatója.
Előfeltételek
Egy Microsoft Azure-előfizetés. Ha még nincs Azure-előfizetése, kezdés előtt hozzon létre egy ingyenes fiókot.
Android Studio. Ha nem rendelkezik Android Studióval, ingyenesen beszerezheti a Google-tól.
Feljegyzés
A rövid útmutatóban szereplő utasítások közül sok az Android Studio Arctic Fox (2020.3.1) használatával készült. Ha az Android Studio másik verzióját használja, az Android Studio-ra vonatkozó lépések eltérőek lehetnek.
Azure Maps-fiók létrehozása
Hozzon létre egy új Azure Térképek-fiókot az alábbi lépésekkel:
Az Azure Portal bal felső sarkában válassza az Erőforrás létrehozása lehetőséget.
A Keresés a Marketplace-en mezőbe írja be az Azure Térképek, majd válassza ki az Azure Térképek a keresési eredmények közül.
Válassza a Létrehozás gombot.
A Maps-fiók létrehozása lapon adja meg a következő értékeket:
- A fiókhoz használni kívánt előfizetés.
- A fiókhoz tartozó erőforráscsoport neve. Választhat, hogy létrehoz egy új erőforráscsoportot, vagy egy meglévő erőforráscsoportot használ.
- Az új fiók neve.
- A fiók tarifacsomagja . Válassza a Gen2 lehetőséget.
- Olvassa el a feltételeket, és jelölje be a jelölőnégyzetet, és győződjön meg arról, hogy elolvasta és elfogadja a licenc- és adatvédelmi nyilatkozatot.
- Válassza az Áttekintés + létrehozás lehetőséget.
- Miután meggyőződett arról, hogy minden helyes a Véleményezés + létrehozás lapon, válassza a Létrehozás gombot.
A fiók előfizetési kulcsának lekérése
Az Azure Térképek-fiók sikeres létrehozása után kérje le az előfizetési kulcsot, amely lehetővé teszi a Térképek API-k lekérdezését.
- Nyissa meg az Azure Térképek-fiókját a portálon.
- A bal oldali panelen válassza a Hitelesítés lehetőséget.
- Másolja ki az elsődleges kulcsot , és mentse helyileg az oktatóanyag későbbi részében való használatra.
Feljegyzés
Biztonsági okokból javasoljuk, hogy forgassa el az elsődleges és a másodlagos kulcsok között. A kulcsok elforgatásához frissítse az alkalmazást a másodlagos kulcs használatára, telepítse, majd nyomja le az elsődleges kulcs melletti ciklus/frissítés gombot egy új elsődleges kulcs létrehozásához. A régi elsődleges kulcs le lesz tiltva. A kulcsforgatásról további információt az Azure Key Vault beállítása kulcsforgatással és naplózással című témakörben talál.
Projekt létrehozása az Android Studióban
Hajtsa végre az alábbi lépéseket egy üres tevékenységgel rendelkező új projekt létrehozásához az Android Studióban:
Indítsa el az Android Studiót, és válassza az Új lehetőséget a Fájl menüben, majd az Új projekt...
Az Új projekt képernyőn válassza a Telefon és a Táblagép lehetőséget a képernyő bal oldalán található Sablonok listában.
Válassza az Üres tevékenység lehetőséget a sablonok listájából, majd a Tovább elemet.
Az Üres tevékenység képernyőn adja meg a következő mezők értékeit:
- Név. Adja meg az Azure Térképek Appot.
- Csomag neve. Használja az alapértelmezett com.example.azuremapsappot.
- Mentés helye. Használja az alapértelmezett beállítást, vagy válasszon egy új helyet a projektfájlok mentéséhez. Ne használjon szóközöket az elérési úton vagy a fájlnévben az NDK-eszközökkel kapcsolatos lehetséges problémák miatt.
- Nyelv. Válassza a Kotlin vagy a Java lehetőséget.
- Minimális SDK. Válassza ki
API 21: Android 5.0.0 (Lollipop)
a minimális SDK-t. Ez az Azure Térképek Android SDK által támogatott legkorábbi verzió.
Válassza a Befejezés lehetőséget az új projekt létrehozásához.
Az Android Studio telepítésével és egy új projekt létrehozásával kapcsolatos további segítségért tekintse meg az Android Studio dokumentációját .
Virtuális eszköz beállítása
Az Android Studio lehetővé teszi egy virtuális Android-eszköz beállítását a számítógépen. Ezzel segíthet tesztelni az alkalmazást a fejlesztés során.
Android rendszerű virtuális eszköz (AVD) beállítása:
- Válassza az AVD-kezelőt az Eszközök menüben.
- Megjelenik az Android virtuális Eszközkezelő. Válassza a Virtuális eszköz létrehozása lehetőséget.
- A Telefon kategóriában válassza a Nexus 5X, majd a Tovább lehetőséget.
Az AVD beállításával kapcsolatos további információkért tekintse meg a virtuális eszközök létrehozását és kezelését az Android Studio dokumentációjában.
Az Azure Térképek Android SDK telepítése
Az alkalmazás létrehozásának következő lépése az Azure Térképek Android SDK telepítése. Hajtsa végre az alábbi lépéseket az SDK telepítéséhez:
Nyissa meg a project settings file settings.gradle fájlt, és adja hozzá a következő kódot az adattárak szakaszhoz:
maven {url "https://atlas.microsoft.com/sdk/android"}
Ugyanabban a projektbeállításokban a settings.gradle fájlban módosítsa az adattárakatMode értékre
PREFER_SETTINGS
:repositoriesMode.set(RepositoriesMode.PREFER_SETTINGS)
A projektbeállítások fájlnak a következőképpen kell megjelennie:
Nyissa meg a projekt gradle.properties fájlját, győződjön meg róla, és
android.useAndroidX
android.enableJetifier
mindkettő betrue
van állítva.Ha a gradle.properties fájl nem tartalmazza
android.useAndroidX
, ésandroid.enableJetifier
adja hozzá a következő két sort a fájl végéhez:android.useAndroidX=true android.enableJetifier=true
Nyissa meg az application build.gradle fájlt, és tegye a következőket:
Ellenőrizze, hogy a projekt minSdk-elegalább 21 .
Győződjön meg arról, hogy
compileOptions
a szakasz aAndroid
következő:compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 }
Frissítse a függőségi blokkot, és adjon hozzá egy új implementációs függőséget a legújabb Azure Térképek Android SDK-hoz:
implementation 'com.azure.android:azure-maps-control:1.+'
A Fájl menüben válassza a Projekt szinkronizálása Gradle-fájlokkal lehetőséget.
Térképtöredék hozzáadása a fő tevékenységhez:
<com.azure.android.maps.control.MapControl android:id="@+id/mapcontrol" android:layout_width="match_parent" android:layout_height="match_parent" />
A fő tevékenység frissítéséhez válassza ki az alkalmazás > res > layout >activity_main.xml a Project kezelőjében:
A MainActivity.java fájlban:
- Importálja az Azure Térképek SDK-t.
- Állítsa be az Azure Térképek hitelesítési adatait.
- A térképvezérlő példány lekérése az onCreate metódusban.
Tipp.
Ha globálisan beállítja a hitelesítési adatokat az
AzureMaps
osztályban a metódusok vagysetAadProperties
metódusoksetSubscriptionKey
használatával, nem kell minden nézetben megadnia a hitelesítési adatokat.A térképvezérlő saját életciklus-metódusokat tartalmaz az Android OpenGL életciklusának kezeléséhez. Ezeket az életciklus-metódusokat közvetlenül az azt tartalmazó tevékenységből kell meghívni. A térképvezérlő életciklus-metódusainak helyes meghívásához írja felül a következő életciklus-metódusokat a térképvezérlőt tartalmazó tevékenységben, majd hívja meg a megfelelő térképvezérlő metódust.
onCreate(Bundle)
onDestroy()
onLowMemory()
onPause()
onResume()
onSaveInstanceState(Bundle)
onStart()
onStop()
Szerkessze a MainActivity.java fájlt az alábbiak szerint:
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); }}
A MainActivity.kt fájlban:
- importálás hozzáadása az Azure Térképek SDK-hoz
- Az Azure Térképek hitelesítési adatainak beállítása
- a térképvezérlő példány lekérése az onCreate metódusban
Tipp.
Ha globálisan beállítja a hitelesítési adatokat az
AzureMaps
osztályban a metódusok vagysetAadProperties
metódusoksetSubscriptionKey
használatával, nem kell minden nézetben megadnia a hitelesítési adatokat.A térképvezérlő saját életciklus-metódusokat tartalmaz az Android OpenGL életciklusának kezeléséhez. Ezeket az életciklus-metódusokat közvetlenül az azt tartalmazó tevékenységből kell meghívni. A térképvezérlő életciklus-metódusainak helyes meghívásához felülbírálja a következő életciklus-metódusokat a térképvezérlőt tartalmazó tevékenységben. És meg kell hívnia a megfelelő térképvezérlési módszert.
onCreate(Bundle)
onDestroy()
onLowMemory()
onPause()
onResume()
onSaveInstanceState(Bundle)
onStart()
onStop()
Szerkessze a MainActivity.kt fájlt az alábbiak szerint:
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) } }
Az alkalmazás létrehozásához válassza a futtatás gombot az eszköztárról az alábbi képen látható módon (vagy nyomja le
Control
+R
Mac gépen).
Az alkalmazás létrehozásához az Android Studio néhány másodpercet vesz igénybe. A build befejezése után tesztelheti az alkalmazást az emulált Android-eszközön. Ehhez hasonló térképet kell látnia:
Tipp.
Alapértelmezés szerint az Android újra betölti a tevékenységet, amikor a tájolás megváltozik, vagy a billentyűzet rejtett. Ez azt eredményezi, hogy a térkép állapota alaphelyzetbe áll (töltse újra a térképet, amely alaphelyzetbe állítja a nézetet, és újra betölti az adatokat a kezdeti állapotba). Ennek megakadályozása érdekében adja hozzá a következőt a mainfesthez: android:configChanges="orientation|keyboardHidden"
. Ez megakadályozza a tevékenység újratöltését, és ehelyett a tájolás módosításakor vagy a billentyűzet rejtett állapotában hívja onConfigurationChanged()
meg.
Az erőforrások eltávolítása
Figyelmeztetés
A Következő lépések szakaszban felsorolt oktatóanyagok részletesen ismertetik az Azure Térképek a fiókjával való használatát és konfigurálását. Ne törölje az ebben a rövid útmutatóban létrehozott erőforrásokat, ha folytatni szeretné az oktatóanyagokat.
Ha nem tervezi folytatni az oktatóanyagokat, végezze el az alábbi lépéseket az erőforrások megtisztításához:
- Zárja be az Android Studiót, és törölje a létrehozott alkalmazást.
- Ha külső eszközön tesztelte az alkalmazást, távolítsa el az alkalmazást az eszközről.
Ha nem tervezi folytatni a fejlesztést az Azure Térképek Android SDK-val:
- Lépjen az Azure Portal lapjára. Válassza az Összes erőforrás lehetőséget a fő portállapon.
- Válassza ki az Azure Térképek-fiókját. Az oldal tetején válassza a Törlés lehetőséget.
- Ha nem tervezi folytatni az Android-alkalmazások fejlesztését, távolítsa el az Android Studiót.
További példakódokért tekintse meg az alábbi útmutatókat:
- Hitelesítés kezelése az Azure Térképek
- Térképstílusok módosítása androidos térképeken
- Szimbólumréteg hozzáadása
- Vonalréteg hozzáadása
- Sokszögréteg hozzáadása
Következő lépések
Ebben a rövid útmutatóban létrehozta az Azure Térképek-fiókját, és létrehozott egy bemutató alkalmazást. Az Azure Térképek további információért tekintse meg az alábbi oktatóanyagot: