Tutorial android : Retrofit dan Coroutines

1 minute read

Intro

Pada artikel ini saya akan membahas bagaimana caranya menggunakan coroutines dan retrofit secara bersamaan, dengan menggunakan coroutines apa yang kita dapatkan ? kita tidak perlu lagi menggunakan callback

sebelum menggunakan coroutines coroutines-retrofit

sesudah menggunakan coroutines coroutines-retrofit

Implementation

Pada contoh ini saya akan coba buat apps sederhana dengan flow diagram sebagai berikut

coroutines-retrofit

hal pertama yang perlu ditambahkan adalah dependency coroutines dan retrofit, tambahkan baris berikut pada file app/build.gradle

coroutines-retrofit

selanjutnya untuk api, saya menggunakan api https://jsonplaceholder.typicode.com/todos/1 untuk demo, saya simpan dalam sebuah file bernama Webservices.kt

coroutines-retrofit

kemudian untuk class repository saya buat seperti ini

coroutines-retrofit

selanjutnya tinggal memanggil class repository tersebut dari activity atau fragmentnya, pertama kita harus implementasi CoroutineScope terlebih dahulu, agar bisa menggunakan builder launch untuk coroutines,

coroutines-retrofit

selanjutnya untuk pemanggilan repositorynya kita perlu memanggilnya didalam builder launch seperti ini

coroutines-retrofit

withContext(Dispatchers.IO) disini digunakan untuk memastikan bahwa repository.getTodo dijalankan di coroutine dengan context Dispatchers.IO

Integration ViewModel

lalu bagaimana jika ingin dipanggil melalu ViewModel ? pertama perlu implement dependency terlebih dahulu,

coroutines-retrofit

pada library tersebut terdapat builder untuk viewModel, kita tinggal memanggilnya dengan perintah viewModelScope otomatis langsung dapat menjalankan coroutines didalam viewmodel

coroutines-retrofit

Error Handling

Untuk error handling coroutines bisa menggunakan try catch, contoh seperti ini

coroutines-retrofit

contoh kode lengkap dapat diakses pada repo berikut ini

Basic Coroutines

Leave a Comment