Volley adalah sebuah HTTP library yang dirilis oleh Google untuk mempermudah proses networking di aplikasi native Android. Volley memiliki beberapa kelebihan yaitu:
- Automatic scheduling of network requests.
- Multiple concurrent network connections.
- Transparent disk and memory response caching.
- Request prioritization.
- Cancellation request API (satu request atau satu grup).
- Ease of customization.
- Strong ordering (data yang datang sesuai urutan).
- Debugging and tracing tools.
Standar library networking di dunia industri memanglah Retrofit, namun ia membutuhkan cukup banyak boilerplate. Meskipun begitu, Volley tetaplah library networking yang bisa diandalkan, bukan library abal-abal, apalagi maintainer Volley langsung dari Google.
Artikel ini diadaptasi dari panduan resmi Volley dengan beberapa penambahan dan penyesuaian.
Setup dependencies
Untuk menggunakan Volley, kita perlu menambahkan baris dependencies berikut di file build.gradle
.
dependencies {
implementation 'com.android.volley:volley:1.2.1'
}
Jika menggunakan Kotlin DSL maka gunakan:
dependencies {
implementation("com.android.volley:volley:1.2.1")
}
Sebelum melakukan request GET, pastikan sudah menambahkan permission android.permission.INTERNET
di manifest.
RequestQueue
Melakukan network request apapun dengan Volley dilakukan dengan membuat instance dari RequestQueue
dan menambahkannya ke antrian network melalui objek Request
. Objek RequestQueue
akan melakukan network request di worker thread, membaca dan menulis cache (jika di-setup), serta melakukan parsing terhadap response yang di dapat dari server.
Contoh sederhana melakukan request GET adalah sebagai berikut:
// Membuat objek RequestQueue baru
val queue = Volley.newRequestQueue(this)
val url = "https://reqres.in/api/users/2"
// Meminta repsonse berupa string dari url yang ditentukan
val stringRequest = StringRequest(Request.Method.GET, url,
Response.Listener<String> { response ->
Log.d("Volley", "Response is: ${response}")
},
Response.ErrorListener { error -> Log.d("Volley", "${error.networkResponse.statusCode} That didn't work!") })
// Tambahkan request ke antrian untuk dieksekusi.
queue.add(stringRequest)
Volley akan selalu memberikan response di main thread sehingga response tersebut bisa kita pakai untuk memperbarui UI.
Banner image by Rafael Garcin on Unsplash
Other Recent Articles
Mengatasi Error ‘No version of NDK matched the requested version’
Artikel ini membahas cara mengatasi error yang mungkin muncul di Android Studio bila versi NDK yang diminta project tidak tersedia.
Memisahkan Emulator dari Android Studio
Versi Android Studio yang baru akan memuat Emulator yang terintegrasi didalamnya. Artikel ini akan membahas cara memisahkan Emulator dari Android Studio.