Aby skonfigurować aplikację do korzystania z pakietu SDK Miejsca na Androida, wykonaj te czynności. Są one wymagane w przypadku wszystkich aplikacji korzystających z pakietu SDK Miejsca na Androida.
Krok 1. Skonfiguruj Android Studio
W tym dokumencie opisujemy środowisko programistyczne korzystające z Android Studio Hedgehog i wtyczki Gradle dla Androida w wersji 8.2.
Krok 2. Konfigurowanie pakietu SDK
Biblioteka pakietu SDK Miejsc na Androida jest dostępna w repozytorium Maven Google. Aby dodać pakiet SDK do aplikacji:
- W pliku najwyższego poziomu
settings.gradle.kts
dodaj portal wtyczek Gradle, repozytorium Maven firmy Google i centralne repozytorium Maven w blokupluginManagement
. BlokpluginManagement
musi pojawić się przed innymi instrukcjami w skrypcie.pluginManagement { repositories { gradlePluginPortal() google() mavenCentral() } }
- W pliku
settings.gradle.kts
najwyższego poziomu dodaj repozytorium Maven firmy Google i centralne repozytorium Maven w blokudependencyResolutionManagement
:dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral() } }
-
W sekcji
dependencies
plikubuild.gradle.kts
na poziomie modułu dodaj zależność od pakietu SDK Miejsc na Androida:Zakręcony
dependencies { implementation(platform("org.jetbrains.kotlin:kotlin-bom:$kotlin_version")) implementation("com.google.android.libraries.places:places:3.5.0") }
Kotlin
dependencies { // Places and Maps SDKs implementation("com.google.android.libraries.places:places:4.1.0") }
- W pliku
build.gradle.kts
na poziomie modułu ustaw wartościcompileSdk
iminSdk
na te wartości:Zakręcony
android { compileSdk 34 defaultConfig { minSdk 23 // ... } }
Kotlin
android { compileSdk = 34 defaultConfig { minSdk = 23 // ... } }
- W sekcji
buildFeatures
plikubuild.gradle
na poziomie modułu dodaj klasęBuildConfig
, której używasz do uzyskiwania 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 użycie wtyczki Gradle obiektów tajnych na Androida.
Aby zainstalować wtyczkę Gradle obiektów tajnych na Androida w projekcie Mapy Google:
-
W Android Studio otwórz najwyższy poziom pliku
build.gradle.kts
lubbuild.gradle
i dodaj pod elementembuildscript
kod:dependencies
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" } }
-
Otwórz plik
build.gradle.kts
lubbuild.gradle
na poziomie modułu i dodaj do elementuplugins
ten kod:Kotlin
plugins { // ... id("com.google.android.libraries.mapsplatform.secrets-gradle-plugin") }
Zakręcony
plugins { // ... id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin' }
- W pliku
build.gradle.kts
lubbuild.gradle
na poziomie modułu sprawdź, czy wartościtargetSdk
icompileSdk
są ustawione na 34. - Synchronizuj projekt z Gradle.
-
Otwórz plik
secrets.properties
w katalogu najwyższego poziomu, a potem dodaj ten kod. ZastąpYOUR_API_KEY
swoim kluczem API. Przechowuj klucz w tym pliku, ponieważsecrets.properties
nie jest uwzględniany w systemie kontroli wersji.PLACES_API_KEY=YOUR_API_KEY
-
Utwórz plik
local.defaults.properties
w katalogu najwyższego poziomu, czyli w tym samym folderze co pliksecrets.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źć pliku
secrets.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 pliksecrets.properties
, a na komputerze lokalnym nie masz jeszcze utworzonego plikusecrets.properties
, aby podać klucz interfejsu API. -
W Android Studio otwórz plik
build.gradle.kts
lubbuild.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
nasecrets.properties
, wartośćdefaultPropertiesFileName
nalocal.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" }
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" }
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 pakietu Places SDK na Androida (nowego). Więcej informacji o wersjach usług znajdziesz w artykule Wybieranie wersji pakietu SDK.
Ten przykład pokazuje, jak zainicjować pakiet SDK w obu wersjach.Pakiet SDK Miejsc na Androida (nowy)
Przekazywanie klucza interfejsu API podczas wywoływania interfejsu 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
Przekazywanie klucza interfejsu API podczas wywoływania interfejsu 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 Places SDK na Androida.
Krok 5. Skonfiguruj urządzenie z Androidem
Aby uruchomić aplikację korzystającą z pakietu SDK Places na Androida, musisz wdrożyć go na urządzeniu z Androidem lub na emulatorze Androida opartym na Androidzie 5.0 lub nowszym, który zawiera interfejsy API Google.
- Aby korzystać z urządzenia z Androidem, postępuj zgodnie z instrukcjami w artykule Uruchamianie aplikacji na urządzeniu z Androidem.
- Aby korzystać z emulatora Androida, możesz utworzyć urządzenie wirtualne i zainstalować emulator za pomocą menedżera urządzenia wirtualnego z Androidem (AVD), który jest częścią Android Studio.