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

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

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

  1. Az Azure Portal bal felső sarkában válassza az Erőforrás létrehozása lehetőséget.

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

  3. Válassza a Létrehozás gombot.

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

    Képernyőkép a Térképek fiók létrehozása panelről az Azure Portalon.

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.

  1. Nyissa meg az Azure Térképek-fiókját a portálon.
  2. A bal oldali panelen válassza a Hitelesítés lehetőséget.
  3. 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.

Képernyőkép az Azure Térképek-előfizetési kulcsról az Azure Portalon.

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:

  1. Indítsa el az Android Studiót, és válassza az Új lehetőséget a Fájl menüben, majd az Új projekt...

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

    Képernyőkép az Új projekt képernyőről az Android Studióban.

  3. Válassza az Üres tevékenység lehetőséget a sablonok listájából, majd a Tovább elemet.

    Képernyőkép az Üres tevékenység létrehozása képernyőről az Android Studióban.

  4. 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ó.
  5. 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:

  1. Válassza az AVD-kezelőt az Eszközök menüben.
  2. Megjelenik az Android virtuális Eszközkezelő. Válassza a Virtuális eszköz létrehozása lehetőséget.
  3. 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.

Képernyőkép az Android virtual Eszközkezelő Hardver kiválasztása képernyőről új virtuális eszköz létrehozásakor.

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:

  1. 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"}
    
  2. Ugyanabban a projektbeállításokban a settings.gradle fájlban módosítsa az adattárakatMode értékrePREFER_SETTINGS:

    repositoriesMode.set(RepositoriesMode.PREFER_SETTINGS)
    

    A projektbeállítások fájlnak a következőképpen kell megjelennie:

    Képernyőkép az Android Studióban található projektbeállítások fájlról.

  3. Nyissa meg a projekt gradle.properties fájlját, győződjön meg róla, és android.useAndroidXandroid.enableJetifier mindkettő be truevan állítva.

    Ha a gradle.properties fájl nem tartalmazza android.useAndroidX , és android.enableJetifieradja hozzá a következő két sort a fájl végéhez:

    android.useAndroidX=true
    android.enableJetifier=true
    
  4. Nyissa meg az application build.gradle fájlt, és tegye a következőket:

    1. Ellenőrizze, hogy a projekt minSdk-elegalább 21 .

    2. Győződjön meg arról, hogy compileOptions a szakasz a Android következő:

      compileOptions {
          sourceCompatibility JavaVersion.VERSION_1_8
          targetCompatibility JavaVersion.VERSION_1_8
      }
      
    3. 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.+'
      
    4. A Fájl menüben válassza a Projekt szinkronizálása Gradle-fájlokkal lehetőséget.

    Képernyőkép az alkalmazás buildelési pontjának gradle fájlról az Android Studióban.

  5. 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:

    Képernyőkép a activity_main.xml fájlról az Android Studio Project kezelőablakában.

  1. 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 vagy setAadProperties metódusok setSubscriptionKey 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);
    }}
    
  1. 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 vagy setAadProperties metódusok setSubscriptionKey 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)
        }
    }
    
  1. 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).

    Képernyőkép az Android Studio futtatási gombjáról.

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:

Képernyőkép az Azure Térképek egy Android-alkalmazásban.

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:

  1. Zárja be az Android Studiót, és törölje a létrehozott alkalmazást.
  2. 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:

  1. Lépjen az Azure Portal lapjára. Válassza az Összes erőforrás lehetőséget a fő portállapon.
  2. Válassza ki az Azure Térképek-fiókját. Az oldal tetején válassza a Törlés lehetőséget.
  3. 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:

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: