Konfigurowanie projektu na Androida Studio

Aby skonfigurować aplikację do korzystania z pakietu SDK Miejsc na Androida, wykonaj te czynności: kroków. Są one wymagane w przypadku wszystkich aplikacji korzystających z pakietu SDK Miejsc na Androida.

Krok 1. Skonfiguruj Android Studio

Ten dokument opisuje środowisko programistyczne korzystające z Android Studio Hedgehogwtyczki Gradle dla Androida w wersji 8.2.

Krok 2. Konfigurowanie pakietu SDK

Biblioteka Places SDK dla Androida jest dostępna repozytorium Google Maven. Aby dodać pakiet SDK do aplikacji:

  1. W pliku settings.gradle.kts najwyższego poziomu umieść w nim portal wtyczek Gradle, repozytorium Google Maven, i centralne repozytorium Maven. w ramach bloku pluginManagement. Blok pluginManagement musi pojawić się przed innymi instrukcjami w skrypcie.
    pluginManagement {
        repositories {
            gradlePluginPortal()
            google()
            mavenCentral()
        }
    } 
  2. W pliku settings.gradle.kts najwyższego poziomu dodaj repozytorium Maven firmy Googlecentralne repozytorium Maven w bloku dependencyResolutionManagement:
    dependencyResolutionManagement {
        repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
        repositories {
            google()
            mavenCentral()
        }
    } 
  3. W: dependencies w pliku build.gradle na poziomie modułu dodaj zależność do pakietu SDK Miejsc na Androida:

    Zakręcony

    dependencies {
        // If updating kotlin-bom version number above, also edit project-level build.gradle definition of $kotlin_version variable
        implementation(platform("org.jetbrains.kotlin:kotlin-bom:$kotlin_version"))
        implementation 'com.google.android.libraries.places:places:3.3.0'
    }

    Kotlin

    dependencies {
        implementation(platform("org.jetbrains.kotlin:kotlin-bom:$kotlin_version"))
        implementation("com.google.android.libraries.places:places:3.5.0")
    }
  4. W pliku build.gradle na poziomie modułu ustaw wartości compileSdkminSdk na te wartości:

    Zakręcony

    android {
        compileSdk 34
    
        defaultConfig {
            minSdk 23
            // ...
        }
    }

    Kotlin

    android {
        compileSdk = 34
    
        defaultConfig {
            minSdk = 23
            // ...
        }
    }
  5. W sekcji buildFeatures pliku build.gradle na poziomie modułu dodaj klasę BuildConfig, której użyjesz do uzyskania dostępu do wartości metadanych zdefiniowanych w dalszej części tej procedury:

    Zakręcony

    android {
      // ...
      buildFeatures {
        buildConfig true
        // ...
      }
    }

    Kotlin

    android {
      // ...
      buildFeatures {
        buildConfig = true
        // ...
      }
    }

Krok 3. Dodaj klucz interfejsu API do projektu

W tej sekcji opisujemy, jak przechowywać klucz interfejsu API, aby Twoja aplikacja mogła bezpiecznie się do niego odwoływać. Nie należy go dodawać do systemu kontroli wersji, dlatego zalecamy przechowywanie go w pliku secrets.properties, który znajduje się w katalogu głównym projektu. Więcej informacji o pliku secrets.properties znajdziesz w artykule Pliki właściwości Gradle.

Aby usprawnić to zadanie, zalecamy skorzystanie z Wtyczka Gradle obiektów tajnych na Androida.

Aby zainstalować wtyczkę Gradle obiektów tajnych na Androida w projekcie Map Google:

  1. W Android Studio otwórz build.gradle.kts lub build.gradle najwyższego poziomu. i dodaj ten kod do elementu dependencies pod buildscript

    Kotlin

    buildscript {
        dependencies {
            classpath("com.google.android.libraries.mapsplatform.secrets-gradle-plugin:secrets-gradle-plugin:2.0.1")
        }
    }

    Zakręcony

    buildscript {
        dependencies {
            classpath "com.google.android.libraries.mapsplatform.secrets-gradle-plugin:secrets-gradle-plugin:2.0.1"
        }
    }
  2. Otwórz plik build.gradle.kts lub build.gradle na poziomie modułu i dodaj ten kod do elementu plugins.

    Kotlin

    plugins {
        // ...
        id("com.google.android.libraries.mapsplatform.secrets-gradle-plugin")
    }

    Zakręcony

    plugins {
        // ...
        id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin'
    }
  3. W pliku build.gradle.kts lub build.gradle na poziomie modułu sprawdź, że wartości targetSdk i compileSdk są ustawione do 34.
  4. Zapisz plik i zsynchronizować projekt z Gradle.
  5. Otwórz plik secrets.properties w katalogu najwyższego poziomu, a potem dodaj ten kod. Zastąp YOUR_API_KEY swoim kluczem interfejsu API. Przechowuj klucz w tym pliku, ponieważ secrets.properties nie jest uwzględniany w systemie kontroli wersji.
    PLACES_API_KEY=YOUR_API_KEY
  6. Zapisz plik.
  7. Utwórz plik local.defaults.properties w katalogu najwyższego poziomu, tak samo jako plik secrets.properties, a potem dodaj podany niżej kod.

    PLACES_API_KEY=DEFAULT_API_KEY

    Ten plik stanowi kopię zapasową klucza interfejsu API na wypadek, gdyby nie udało się znaleźć plikusecrets.properties, dzięki czemu kompilacje nie będą się załamywać. Może się tak zdarzyć, jeśli klonujesz aplikację z systemu kontroli wersji, który pomija plik secrets.properties, a na komputerze lokalnym nie masz jeszcze utworzonego pliku secrets.properties, aby podać klucz interfejsu API.

  8. Zapisz plik.
  9. W Android Studio otwórz plik build.gradle.kts lub build.gradle na poziomie modułu i edytuj właściwość secrets. Jeśli właściwość secrets nie istnieje, dodaj ją.

    Zmień właściwości wtyczki, aby ustawić wartość propertiesFileName na secrets.properties, wartość defaultPropertiesFileName na local.defaults.properties i ustawić inne właściwości.

    Kotlin

    secrets {
        // To add your Maps API key to this project:
        // 1. If the secrets.properties file does not exist, create it in the same folder as the local.properties file.
        // 2. Add this line, where YOUR_API_KEY is your API key:
        //        MAPS_API_KEY=YOUR_API_KEY
        propertiesFileName = "secrets.properties"
    
        // A properties file containing default secret values. This file can be
        // checked in version control.
        defaultPropertiesFileName = "local.defaults.properties"
    
        // Configure which keys should be ignored by the plugin by providing regular expressions.
        // "sdk.dir" is ignored by default.
        ignoreList.add("keyToIgnore") // Ignore the key "keyToIgnore"
        ignoreList.add("sdk.*")       // Ignore all keys matching the regexp "sdk.*"
    }
            

    Zakręcony

    secrets {
        // To add your Maps API key to this project:
        // 1. If the secrets.properties file does not exist, create it in the same folder as the local.properties file.
        // 2. Add this line, where YOUR_API_KEY is your API key:
        //        MAPS_API_KEY=YOUR_API_KEY
        propertiesFileName = "secrets.properties"
    
        // A properties file containing default secret values. This file can be
        // checked in version control.
        defaultPropertiesFileName = "local.defaults.properties"
    
        // Configure which keys should be ignored by the plugin by providing regular expressions.
        // "sdk.dir" is ignored by default.
        ignoreList.add("keyToIgnore") // Ignore the key "keyToIgnore"
        ignoreList.add("sdk.*")       // Ignore all keys matching the regexp "sdk.*"
    }
            

Krok 4. Inicjowanie klienta Places API

Zainicjuj pakiet SDK Miejsc na Androida w ramach aktywności lub fragmentu. Najpierw musisz zdecydować, której wersji pakietu SDK chcesz używać: pakietu Places SDK na Androida czy nowego pakietu Places SDK na Androida. Aby uzyskać więcej informacji o wersjach usługi, Więcej informacji znajdziesz w artykule Wybieranie wersji pakietu SDK.

Ten przykład pokazuje, jak zainicjować pakiet SDK w obu wersjach.

Pakiet SDK Miejsc na Androida (nowy)

Podczas wywoływania interfejsu Places.initializeWithNewPlacesApiEnabled() należy podać klucz interfejsu API:

Kotlin

    // Define a variable to hold the Places API key.
    val apiKey = BuildConfig.PLACES_API_KEY

    // Log an error if apiKey is not set.
    if (apiKey.isEmpty() || apiKey == "DEFAULT_API_KEY") {
        Log.e("Places test", "No api key")
        finish()
        return
    }

    // Initialize the SDK
    Places.initializeWithNewPlacesApiEnabled(applicationContext, apiKey)

    // Create a new PlacesClient instance
    val placesClient = Places.createClient(this)
    

Java

    // Define a variable to hold the Places API key.
    String apiKey = BuildConfig.PLACES_API_KEY;

    // Log an error if apiKey is not set.
    if (TextUtils.isEmpty(apiKey) || apiKey.equals("DEFAULT_API_KEY")) {
      Log.e("Places test", "No api key");
      finish();
      return;
    }

    // Initialize the SDK
    Places.initializeWithNewPlacesApiEnabled(getApplicationContext(), apiKey);

    // Create a new PlacesClient instance
    PlacesClient placesClient = Places.createClient(this);
    

Pakiet SDK Miejsc na Androida

Podczas wywoływania interfejsu Places.initialize() należy podać klucz interfejsu API:

Kotlin

    // Define a variable to hold the Places API key.
    val apiKey = BuildConfig.PLACES_API_KEY

    // Log an error if apiKey is not set.
    if (apiKey.isEmpty() || apiKey == "DEFAULT_API_KEY") {
        Log.e("Places test", "No api key")
        finish()
        return
    }

    // Initialize the SDK
    Places.initialize(applicationContext, apiKey)

    // Create a new PlacesClient instance
    val placesClient = Places.createClient(this)
    

Java

    // Define a variable to hold the Places API key.
    String apiKey = BuildConfig.PLACES_API_KEY;

    // Log an error if apiKey is not set.
    if (TextUtils.isEmpty(apiKey) || apiKey.equals("DEFAULT_API_KEY")) {
      Log.e("Places test", "No api key");
      finish();
      return;
    }

    // Initialize the SDK
    Places.initialize(getApplicationContext(), apiKey);

    // Create a new PlacesClient instance
    PlacesClient placesClient = Places.createClient(this);
    

Możesz już zacząć korzystać z pakietu SDK Miejsc dla systemu Android.

Krok 5. Skonfiguruj urządzenie z Androidem

Aby uruchomić aplikację, która korzysta z pakietu SDK Miejsc dla Androida, należy wdrożyć ją na urządzeniu z Androidem lub na urządzeniu z Androidem emulator oparty na Androidzie 5.0 lub nowszym i obejmuje interfejsów API Google.

  • Aby korzystać z urządzenia z Androidem, wykonaj instrukcje opisane w artykule Uruchamianie aplikacji na urządzeniu z Androidem.
  • Aby użyć emulatora Androida, możesz utworzyć urządzenie wirtualne i zainstalować emulator za pomocą: Menedżer urządzeń wirtualnych z Androidem (AVD), dostępne w Android Studio.

Dalsze kroki

Po skonfigurowaniu projektu możesz zobaczyć przykładowych aplikacji.