Konfigurowanie projektu na Androida Studio

Aby skonfigurować używanie pakietu SDK Miejsc na Androida w aplikacji, wykonaj poniższe czynności. Są one wymagane w przypadku wszystkich aplikacji korzystających z pakietu SDK Miejsc na Androida.

Krok 1. Skonfiguruj Android Studio

W tym dokumencie opisujemy środowisko programistyczne Android Studio Hedgehog i wtyczkę Android do Gradle w wersji 8.2.

Krok 2. Konfigurowanie pakietu SDK

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

  1. W pliku settings.gradle najwyższego poziomu dodaj portal wtyczki Gradle, repozytorium Google Maven i centralne repozytorium Maven w ramach bloku pluginManagement. Blok pluginManagement musi występować przed innymi instrukcjami w skrypcie.
    pluginManagement {
        repositories {
            gradlePluginPortal()
            google()
            mavenCentral()
        }
    } 
  2. W pliku settings.gradle najwyższego poziomu umieść repozytorium Google Maven i centralne repozytorium Maven w części dependencyResolutionManagement:
    dependencyResolutionManagement {
        repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
        repositories {
            google()
            mavenCentral()
        }
    } 
  3. W sekcji dependencies pliku build.gradle na poziomie modułu dodaj zależność do pakietu Places SDK 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 compileSdk i minSdk na te wartości:

    Zakręcony

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

    Kotlin

    android {
        compileSdk = 34
    
        defaultConfig {
            minSdk = 21
            // ...
        }
    }
  5. W sekcji buildFeatures pliku build.gradle na poziomie modułu dodaj klasę BuildConfig, której będziesz używać, aby uzyskać dostęp 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 zapisać klucz interfejsu API, aby aplikacja mogła się do niego bezpiecznie odwoływać. Nie należy sprawdzać klucza interfejsu API w systemie kontroli wersji, więc zalecamy zapisanie go w pliku secrets.properties, który znajduje się w katalogu głównym projektu. Więcej informacji o pliku secrets.properties znajdziesz w artykule o plikach właściwości Gradle.

Aby usprawnić to zadanie, zalecamy korzystanie z wtyczki do 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 plik build.gradle lub build.gradle.kts najwyższego poziomu i dodaj poniższy kod do elementu dependencies w sekcji buildscript.

    Zakręcony

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

    Kotlin

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

    Zakręcony

    plugins {
        // ...
        id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin'
    }

    Kotlin

    plugins {
        id("com.google.android.libraries.mapsplatform.secrets-gradle-plugin")
    }
  3. W pliku build.gradle na poziomie modułu sprawdź, czy targetSdk i compileSdk mają wartość 34.
  4. Zapisz plik i zsynchronizuj projekt z Gradle.
  5. Otwórz plik secrets.properties w katalogu najwyższego poziomu, a następnie dodaj poniższy kod. Zastąp YOUR_API_KEY swoim kluczem interfejsu API. Zapisz klucz w tym pliku, ponieważ secrets.properties nie jest sprawdzany 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, w tym samym folderze co plik secrets.properties, a następnie dodaj poniższy kod.

    PLACES_API_KEY=DEFAULT_API_KEY

    Ten plik zawiera kopię zapasową klucza interfejsu API na wypadek, gdyby plik secrets.properties nie został znaleziony. Pozwala to uniknąć błędu kompilacji. Może się tak zdarzyć, jeśli sklonujesz aplikację z systemu kontroli wersji, który pomija atrybut secrets.properties, i nie masz jeszcze lokalnego pliku secrets.properties umożliwiającego przekazanie klucza interfejsu API.

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

    Zmień właściwości wtyczki, by ustawić propertiesFileName na secrets.properties, ustaw defaultPropertiesFileName na local.defaults.properties i ustaw pozostałe właściwości.

    Zakręcony

    secrets {
        // Optionally specify a different file name containing your secrets.
        // The plugin defaults to "local.properties"
        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.*"
    }
            

    Kotlin

    secrets {
        // Optionally specify a different file name containing your secrets.
        // The plugin defaults to "local.properties"
        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 interfejsu Places API

Zainicjuj pakiet Places SDK dla Androida w aktywności lub fragmencie. Najpierw musisz wybrać wersję pakietu SDK, której chcesz użyć: SDK Places na Androida lub SDK Miejsc na Androida (nową). Więcej informacji o wersjach usług znajdziesz w artykule Wybieranie wersji pakietu SDK.

Z przykładu poniżej dowiesz się, jak zainicjować pakiet SDK w obu wersjach.

Pakiet SDK Miejsc na Androida (nowość)

Przekaż klucz interfejsu API podczas wywoływania Places.initializeWithNewPlacesApiEnabled():

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

Przekaż klucz interfejsu API podczas wywoływania Places.initialize():

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ę korzystającą z pakietu Places SDK dla Androida, należy wdrożyć ją na urządzeniu z Androidem lub w emulatorze Androida opartym na Androidzie 5.0 lub nowszym i zawierającym interfejsy API Google.

  • Aby używać urządzenia z Androidem, wykonaj instrukcje opisane w artykule Uruchamianie aplikacji na urządzeniu sprzętowym.
  • Aby użyć emulatora Androida, możesz utworzyć urządzenie wirtualne i zainstalować go za pomocą Menedżera urządzeń wirtualnych Android (AVD) dołączonego do Android Studio.

Dalsze kroki

Po skonfigurowaniu projektu możesz zapoznać się z przykładowymi aplikacjami.