GET Request dengan Volley di Android

Volley adalah HTTP library yang membuat networking di aplikasi native Android lebih mudah.

Bagus Aji Santoso by Bagus Aji Santoso on 18 May 2023

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.

Baca Artikel

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.

Baca Artikel

More This Way