Library ini menggunakan Kotlin Coroutines dan Async Service (Callback).
- Tambahkan maven repository di root
build.gradle
allprojects {
repositories {
//...
maven { url "https://jitpack.io" }
}
}
- Tambahkan dependencies pada
build.gradle
di tingkat module
dependencies {
//...
implementation 'com.github.inibukanadit:raja-api:x.x.x'
//...
}
Lihat demo untuk melihat penggunaan library secara keseluruhan. Atau baca dokumentasinya di Wiki : https://github.com/inibukanadit/raja-api/wiki
val mApiInstance = WilayahApiCoroutineService.instance()
Pastikan untuk memanggil fungsi di bawah ini dengan GlobalScope.launch { ... }
atau GlobalScope.async { ... }
val result = mApiInstance.getKodeUnik().await()
val uniqueCode = WilayahApi.getUniqueCode(result)
// save the unique code somewhere
val result = mApiInstance.getProvinsi(uniqueCode).await()
val provinces = WilayahApi.getAreaList(result) // List<Area>
Lebih lengkapnya bisa Anda baca di Wiki : https://github.com/inibukanadit/raja-api/wiki/2.-Coroutine-Service
val mApiInstance = WilayahApiAsyncService.instance()
mApiInstance
.getKodeUnik()
.execute(object : WilayahApiAsyncWrapper.Callback<String> {
override fun onResult(data: String?, error: String?) {
data?.let { mUniqueCode = it }
}
})
mApiInstance
.getProvinsi(mUniqueCode)
.execute(object : WilayahApiAsyncWrapper.Callback<List<Area>> {
override fun onResult(data: List<Area>?, error: String?) {
data?.let { showProvince(it) }
}
})
Lebih lengkapnya bisa Anda baca di Wiki : https://github.com/inibukanadit/raja-api/wiki/3.-Async-Service-(Callback)
Silakan laporkan jika ada bugs. Jika ada fitur yang ingin ditambahkan, silakan buat issue baru atau lakukan pull request. :)
Semoga bermanfaat~