Configura un proyecto de Android Studio

Si deseas configurar tu app para que use el SDK de Places para Android, sigue estos pasos. Son obligatorios para todas las apps que usan el SDK de Places para Android.

Paso 1: Configura Android Studio

En este documento, se describe un entorno de desarrollo con Android Studio Hedgehog y la versión 8.2 del complemento de Android para Gradle.

Paso 2: Configura el SDK

La biblioteca del SDK de Places para Android está disponible a través del repositorio de Maven de Google. Para agregar el SDK a tu app, haz lo siguiente:

  1. En el archivo settings.gradle de nivel superior, incluye el portal de complementos de Gradle, el repositorio de Maven de Google y el repositorio central de Maven debajo del bloque pluginManagement. El bloque pluginManagement debe aparecer antes que cualquier otra sentencia en la secuencia de comandos.
    pluginManagement {
        repositories {
            gradlePluginPortal()
            google()
            mavenCentral()
        }
    } 
  2. En el archivo settings.gradle de nivel superior, incluye el repositorio de Maven de Google y el repositorio central de Maven debajo del bloque dependencyResolutionManagement:
    dependencyResolutionManagement {
        repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
        repositories {
            google()
            mavenCentral()
        }
    } 
  3. En la sección dependencies de tu archivo build.gradle en el nivel del módulo, agrega una dependencia al SDK de Places para Android:

    Groovy

    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")
    }
  4. En tu archivo build.gradle a nivel del módulo, configura compileSdk y minSdk con los siguientes valores:

    Groovy

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

    Kotlin

    android {
        compileSdk = 34
    
        defaultConfig {
            minSdk = 21
            // ...
        }
    }
  5. En la sección buildFeatures del archivo build.gradle a nivel del módulo, agrega la clase BuildConfig, que usarás para acceder a los valores de metadatos definidos más adelante en este procedimiento:

    Groovy

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

    Kotlin

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

Paso 3: Agrega tu clave de API al proyecto

En esta sección, se describe cómo almacenar tu clave de API para que tu app pueda hacer referencia a ella de manera segura. No debes incluir la clave de API en el sistema de control de versión, por lo que te recomendamos almacenarla en el archivo secrets.properties, que se encuentra en el directorio raíz de tu proyecto. Para obtener más información sobre el archivo secrets.properties, consulta los archivos de propiedades de Gradle.

Para optimizar esta tarea, te recomendamos que uses el complemento Secrets Gradle para Android.

Si deseas instalar el complemento Secrets Gradle para Android en tu proyecto de Google Maps, haz lo siguiente:

  1. En Android Studio, abre el archivo build.gradle o build.gradle.kts de nivel superior y agrega el siguiente código al elemento dependencies en buildscript.

    Groovy

    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. Abre el archivo build.gradle a nivel del módulo y agrega el siguiente código al elemento plugins.

    Groovy

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

    Kotlin

    plugins {
        id("com.google.android.libraries.mapsplatform.secrets-gradle-plugin")
    }
  3. En tu archivo build.gradle a nivel del módulo, asegúrate de que targetSdk y compileSdk se hayan establecido en 34.
  4. Guarda el archivo y sincroniza tu proyecto con Gradle.
  5. Abre el archivo secrets.properties en tu directorio de nivel superior y, luego, agrega el siguiente código. Reemplaza YOUR_API_KEY por tu clave de API. Almacena tu clave en ese archivo porque secrets.properties no se registra en un sistema de control de versión.
    PLACES_API_KEY=YOUR_API_KEY
  6. Guarda el archivo.
  7. Crea el archivo local.defaults.properties en tu directorio principal, en la misma carpeta en la que se encuentra el archivo secrets.properties, y luego agrega el siguiente código.

    PLACES_API_KEY=DEFAULT_API_KEY

    El propósito de este archivo es proporcionar una ubicación de copia de seguridad de la clave de API en caso de que no se encuentre el archivo secrets.properties, de modo que las compilaciones no fallen. Esto puede ocurrir si clonas la app desde un sistema de control de versión que omite secrets.properties y aún no creaste un archivo secrets.properties localmente para proporcionar tu clave de API.

  8. Guarda el archivo.
  9. En Android Studio, abre el archivo build.gradle o build.gradle.kts a nivel del módulo y edita la propiedad secrets. Si la propiedad secrets no existe, agrégala.

    Edita las propiedades del complemento para establecer propertiesFileName en secrets.properties, establecer defaultPropertiesFileName en local.defaults.properties y establecer cualquier otra propiedad.

    Groovy

    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.*"
    }
            

Paso 4: Inicializa el cliente de la API de Places

Inicializa el SDK de Places para Android dentro de una actividad o un fragmento. Primero, debes decidir qué versión del SDK usarás: SDK de Places para Android o SDK de Places para Android (versión nueva). Para obtener más información sobre las versiones del producto, consulta Elige tu versión del SDK.

En el siguiente ejemplo, se muestra cómo inicializar el SDK para ambas versiones.

SDK de Places para Android (nuevo)

Pasa la clave de API cuando llames a 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);
    

SDK de Places para Android

Pasa la clave de API cuando llames a 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);
    

Ya está todo listo para que comiences a usar el SDK de Places para Android.

Paso 5: Configura un dispositivo Android

Para ejecutar una app que usa el SDK de Places para Android, debes implementarla en un dispositivo Android o en un emulador de Android que se base en Android 4.0 o posterior y que incluya las APIs de Google.

  • Si deseas usar un dispositivo Android, sigue las instrucciones que se indican en Cómo ejecutar apps en un dispositivo de hardware.
  • Para usar un emulador de Android, puedes crear un dispositivo virtual y, luego, instalar el emulador usando el Administrador de dispositivos virtuales de Android (AVD) incluido con Android Studio.

Próximos pasos

Después de configurar tu proyecto, puedes explorar las apps de ejemplo.