RxJava é uma biblioteca de programação reativa para criar programas assíncronos e com base em eventos usando sequências observáveis.
Com a biblioteca Places Rx, você pode receber sequências observáveis para eventos assíncronos nos SDKs do Maps e do Places para Android. Assim, você pode aproveitar todos os recursos do RxJava.
Instalação
Para instalar a biblioteca Places Rx no seu projeto do Google Maps, faça o seguinte:
Adicione as seguintes dependências ao arquivo
build.gradle
do 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'
- Recrie seu projeto no Android Studio para sincronizar essas mudanças.
Exemplo de uso
O exemplo a seguir mostra como receber um Single e se inscrever nele ao buscar detalhes do 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}") } ) }
A seguir
- Confira a página da biblioteca Places Rx do projeto GitHub (em inglês).
- Confira a referência da API da biblioteca Places Rx.