Pelajaran ini menjelaskan cara menggunakan jenis permintaan umum yang didukung Volley:
StringRequest
. Tentukan URL dan terima string raw sebagai respons. Lihat Menyiapkan Antrean Permintaan untuk contoh.JsonObjectRequest
danJsonArrayRequest
(kedua subclassJsonRequest
). Tentukan URL dan dapatkan objek atau array JSON (masing-masing) sebagai respons.
Jika respons yang diharapkan adalah salah satu dari jenis ini, Anda mungkin tidak perlu menerapkan permintaan khusus. Pelajaran ini menjelaskan cara menggunakan jenis permintaan standar ini. Untuk informasi cara menerapkan permintaan khusus Anda sendiri, lihat Menerapkan Permintaan Khusus.
Meminta JSON
Volley menyediakan class berikut untuk permintaan JSON:
JsonArrayRequest
—Permintaan untuk mengambil isi responsJSONArray
pada URL yang diberikan.JsonObjectRequest
—Permintaan untuk mengambil isi responsJSONObject
pada URL yang diberikan, memungkinkanJSONObject
opsional untuk diteruskan sebagai bagian dari isi permintaan.
Kedua class didasarkan pada class dasar umum JsonRequest
. Anda menggunakannya mengikuti pola dasar yang sama dengan yang digunakan untuk jenis permintaan lainnya. Sebagai contoh, cuplikan ini mengambil feed JSON dan menampilkannya sebagai teks di UI:
Kotlin
val url = "http://my-json-feed" val jsonObjectRequest = JsonObjectRequest(Request.Method.GET, url, null, Response.Listener { response -> textView.text = "Response: %s".format(response.toString()) }, Response.ErrorListener { error -> // TODO: Handle error } ) // Access the RequestQueue through your singleton class. MySingleton.getInstance(this).addToRequestQueue(jsonObjectRequest)
Java
String url = "http://my-json-feed"; JsonObjectRequest jsonObjectRequest = new JsonObjectRequest (Request.Method.GET, url, null, new Response.Listener<JSONObject>() { @Override public void onResponse(JSONObject response) { textView.setText("Response: " + response.toString()); } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { // TODO: Handle error } }); // Access the RequestQueue through your singleton class. MySingleton.getInstance(this).addToRequestQueue(jsonObjectRequest);