Tutorial android : Retrofit dan Coroutines
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
sesudah menggunakan coroutines
Implementation
Pada contoh ini saya akan coba buat apps sederhana dengan flow diagram sebagai berikut
hal pertama yang perlu ditambahkan adalah dependency coroutines dan retrofit, tambahkan baris berikut pada file app/build.gradle
selanjutnya untuk api, saya menggunakan api https://jsonplaceholder.typicode.com/todos/1 untuk demo, saya simpan dalam sebuah file bernama Webservices.kt
kemudian untuk class repository saya buat seperti ini
selanjutnya tinggal memanggil class repository tersebut dari activity atau fragmentnya, pertama kita harus implementasi CoroutineScope terlebih dahulu, agar bisa menggunakan builder launch untuk coroutines,
selanjutnya untuk pemanggilan repositorynya kita perlu memanggilnya didalam builder launch seperti ini
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,
pada library tersebut terdapat builder untuk viewModel, kita tinggal memanggilnya dengan perintah viewModelScope otomatis langsung dapat menjalankan coroutines didalam viewmodel
Error Handling
Untuk error handling coroutines bisa menggunakan try catch, contoh seperti ini
contoh kode lengkap dapat diakses pada repo berikut ini
Leave a Comment