Skip to content
This repository has been archived by the owner on Jul 27, 2024. It is now read-only.

3. Async Service (Callback)

Aditya Chandra edited this page Dec 7, 2018 · 1 revision

Penggunaan - Async Service

Inisialisasi Async Service (Callback) dari Wilayah API

  val mApiInstance = WilayahApiAsyncService.instance()

Penggunaan API

API : Mendapatkan Kode Unik

  mApiInstance
      .getKodeUnik()
      .execute(object : WilayahApiAsyncWrapper.Callback<String> {
        override fun onResult(data: String?, error: String?) {
          data?.let { mUniqueCode = it }
        }
      })

API : Mendapatkan Provinsi

  mApiInstance
      .getProvinsi(mUniqueCode)
      .execute(object : WilayahApiAsyncWrapper.Callback<List<Area>> {
        override fun onResult(data: List<Area>?, error: String?) {
          data?.let { showProvince(it) } // contoh
        }
      })

API : Mendapatkan Kabupaten

  mApiInstance
      .getKabupaten(mUniqueCode)
      .execute(object : WilayahApiAsyncWrapper.Callback<List<Area>> {
        override fun onResult(data: List<Area>?, error: String?) {
          data?.let { showProvince(it) } // contoh
        }
      })

API : Mendapatkan Kecamatan

  mApiInstance
      .getKecamatan(mUniqueCode)
      .execute(object : WilayahApiAsyncWrapper.Callback<List<Area>> {
        override fun onResult(data: List<Area>?, error: String?) {
          data?.let { showDistricts(it) } // contoh
        }
      })

API : Mendapatkan Kelurahan

  mApiInstance
      .getKelurahan(mUniqueCode)
      .execute(object : WilayahApiAsyncWrapper.Callback<List<Area>> {
        override fun onResult(data: List<Area>?, error: String?) {
          data?.let { showVillages(it) } // contoh
        }
      })