RxJava Kitaplığı

RxJava, gözlemlenebilir diziler kullanarak eşzamansız ve etkinliğe dayalı programlar oluşturmaya yönelik reaktif bir programlama kitaplığıdır.

Yerler Rx kitaplığı, Android için Haritalar SDK'sı ve Android için Yerler SDK'sında eş zamansız etkinlikler için gözlemlenebilir diziler almanızı sağlar. Böylece zengin RxJava özelliklerinden yararlanabilirsiniz.

Döşeme

Places Rx kitaplığını Google Haritalar projenize yüklemek için:

  1. Modül düzeyindeki build.gradle dosyanıza aşağıdaki bağımlılıkları ekleyin:

    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'
    
  2. Bu değişiklikleri senkronize etmek için projenizi Android Studio'da yeniden oluşturun.

Örnek Kullanım

Aşağıdaki örnekte, yer ayrıntılarını getirirken nasıl Tek ve nasıl abone olabileceğiniz gösterilmektedir:

  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}")
    }
  )
}

Sırada ne var?