Aby skonfigurować w aplikacji używanie pakietu SDK Miejsc na Androida, wykonaj te czynności. Są one wymagane w przypadku wszystkich aplikacji korzystających z pakietu Places SDK dla Androida.
Krok 1. Skonfiguruj Android Studio
Ten dokument opisuje środowisko programistyczne korzystające z Android Studio Hedgehog i wtyczki do Androida do obsługi Gradle w wersji 8.2.
Krok 2. Skonfiguruj pakiet SDK
Biblioteka Miejsc SDK na Androida jest dostępna w repozytorium Google Maven. Aby dodać pakiet SDK do aplikacji, wykonaj te czynności:
- W pliku
settings.gradle
najwyższego poziomu umieść w blokupluginManagement
portal wtyczki Gradle, repozytorium Google Maven i centralne repozytorium Maven. BlokpluginManagement
musi znajdować się przed innymi instrukcjami w skrypcie.pluginManagement { repositories { gradlePluginPortal() google() mavenCentral() } }
- W pliku
settings.gradle
najwyższego poziomu umieść w blokudependencyResolutionManagement
repozytorium Google Maven i centralne repozytorium Maven:dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral() } }
-
W sekcji
dependencies
plikubuild.gradle
na poziomie modułu dodaj zależność do pakietu Places SDK dla 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.3.0") }
- W pliku
build.gradle
na poziomie modułu ustawcompileSdk
iminSdk
na te wartości:Zakręcony
android { compileSdk 34 defaultConfig { minSdk 21 // ... } }
Kotlin
android { compileSdk = 34 defaultConfig { minSdk = 21 // ... } }
- W sekcji
buildFeatures
plikubuild.gradle
na poziomie modułu dodaj klasęBuildConfig
, która umożliwia dostęp do wartości metadanych zdefiniowanych później w tej procedurze:Zakręcony
android { // ... buildFeatures { buildConfig true // ... } }
Kotlin
android { // ... buildFeatures { buildConfig = true // ... } }
Krok 3. Dodaj do projektu klucz interfejsu API
W tej sekcji opisujemy, jak zapisać klucz interfejsu API, aby aplikacja mogła bezpiecznie się do niego odwoływać. Nie należy sprawdzać klucza interfejsu API w systemie kontroli wersji, dlatego 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 uprościć to zadanie, zalecamy korzystanie z wtyczki Gradle obiektów tajnych na Androida.
Aby zainstalować wtyczkę Secrets Gradle na Androida w projekcie Map Google:
-
W Android Studio otwórz plik
build.gradle
lubbuild.gradle.kts
najwyższego poziomu i dodaj ten kod do elementudependencies
w sekcjibuildscript
.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") } }
-
Otwórz plik
build.gradle
na poziomie modułu i dodaj do elementuplugins
poniższy kod.Zakręcony
plugins { // ... id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin' }
Kotlin
plugins { id("com.google.android.libraries.mapsplatform.secrets-gradle-plugin") }
- W pliku
build.gradle
na poziomie modułu sprawdź, czytargetSdk
icompileSdk
mają wartość 34. - Zapisz plik i zsynchronizuj projekt z Gradle.
-
Otwórz plik
secrets.properties
w katalogu najwyższego poziomu i dodaj ten kod. ZastąpYOUR_API_KEY
swoim kluczem interfejsu API. Zapisz klucz w tym pliku, ponieważ adressecrets.properties
nie jest rejestrowany w systemie kontroli wersji.PLACES_API_KEY=YOUR_API_KEY
- Zapisz plik.
-
Utwórz plik
local.defaults.properties
w katalogu najwyższego poziomu, w tym samym folderze co pliksecrets.properties
, a następnie dodaj poniższy kod.PLACES_API_KEY=DEFAULT_API_KEY
Ten plik służy do podania lokalizacji kopii zapasowej klucza interfejsu API na wypadek, gdyby nie udało się znaleźć pliku
secrets.properties
, co pozwoli uniknąć błędów kompilacji. Może się tak zdarzyć, jeśli sklonujesz aplikację z systemu kontroli wersji, który pomija elementsecrets.properties
, i nie utworzyłeś jeszcze lokalnie plikusecrets.properties
zawierającego Twój klucz interfejsu API. - Zapisz plik.
-
W Android Studio otwórz plik
build.gradle
lubbuild.gradle.kts
na poziomie modułu i zmodyfikuj właściwośćsecrets
. Jeśli właściwośćsecrets
nie istnieje, dodaj ją.Edytuj właściwości wtyczki, ustaw
propertiesFileName
nasecrets.properties
, ustawdefaultPropertiesFileName
nalocal.defaults.properties
i ustaw inne 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 Places API
Zainicjuj pakiet Places SDK dla Androida w aktywności lub fragmencie. Najpierw musisz wybrać wersję pakietu SDK, której chcesz używać: Places SDK na Androida lub Places SDK 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 dla obu wersji.Pakiet SDK Miejsc na Androida (nowość)
Podczas wywoływania Places.initializeWithNewPlacesApiEnabled()
przekaż 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 Places.initialize()
przekaż 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);
Teraz możesz już zacząć korzystać z pakietu Places SDK dla Androida.
Krok 5. Skonfiguruj urządzenie z Androidem
Aby uruchomić aplikację, która korzysta z pakietu SDK Miejsc na Androida, musisz wdrożyć ją na urządzeniu z Androidem lub w emulatorze Androida w wersji 4.0 lub nowszej, która zawiera interfejsy API Google.
- Aby używać urządzenia z Androidem, wykonaj instrukcje opisane w artykule Uruchamianie aplikacji na urządzeniu sprzętowym.
- Jeśli chcesz użyć emulatora Androida, możesz utworzyć urządzenie wirtualne i zainstalować go za pomocą Menedżera urządzeń wirtualnych (AVD) Android dołączonego do Android Studio.