RxJava es una biblioteca de programación reactiva diseñada para componer programas asíncronos y basados en eventos mediante el uso de secuencias observables.
La biblioteca de Places Rx te permite recibir secuencias observables para eventos asíncronos en el SDK de Maps para Android y el SDK de Places para Android a fin de que puedas aprovechar el amplio conjunto de funciones de RxJava.
Instalación
Para instalar la biblioteca de Places Rx en tu proyecto de Google Maps, sigue estos pasos:
Agrega las siguientes dependencias a tu archivo
build.gradle
a nivel del módulo:dependencies { // RxJava bindings for the Maps SDK implementation 'com.google.maps.android:maps-rx:1.0.0' // RxJava bindings for the Places SDK implementation 'com.google.maps.android:places-rx:1.0.0' // It is recommended to also include the latest Maps SDK, Places SDK and RxJava so you // have the latest features and bug fixes. implementation "com.google.android.gms:play-services-maps:18.2.0" implementation 'com.google.android.libraries.places:places:3.3.0' implementation 'io.reactivex.rxjava3:rxjava:3.1.8'
- Vuelve a compilar tu proyecto en Android Studio para sincronizar estos cambios.
Ejemplo de uso
En el siguiente ejemplo, se muestra cómo puedes recibir un Single y suscribirte a él cuando recuperas detalles del lugar:
placesClient.fetchPlace( placeId = "thePlaceId", placeFields = listOf(Place.Field.ID, Place.Field.NAME, Place.Field.ADDRESS), actions = {} ).subscribe( { response -> Log.d("PlacesRx", "Successfully got place ${response.place.id}") }, { error -> Log.e("PlacesRx", "Could not get place: ${error.message}") } ) }
Próximos pasos
- Consulta la página del proyecto de GitHub de la biblioteca de Places Rx.
- Consulta la referencia de la API de la biblioteca de Places Rx.