Pengertian Android Volley Library Part II

TheHeran.com/ October 5, 2015/ Java Android, Java Documentation, Slide, Volley/ 0 comments

Pagi Readers!.. Semoga dalam keadaan sehat dan selalu dalam lindungan-Nya. Svaha (baca : ‘swaha’)

Melanjutkan edisi sebelumnya itu Android Volley Part I, kali ini akan membahas lebih mendalam tentang Android Volley Library.

Perlu admin jelaskan sedikit kembali, bahwa Android Volley Library merupakan Library yang mengatur permintaan data (request)  dalam sebuah jaringan dan hasil dari permintaan data (response) tersebut kemudian disimpan secara sementara (chaces) tanpa harus seorang Developer membuat deretan baris kode yang sangat banyak.

Pemrosesan data menggunakan Volley Library dijalankan berdasarkan urutan – urutan sesuai antrian dan ketika semua selesai maka data – data tersebut akan simpan kedalam chace agar pemrosesan data selanjutnya akan menjadi lebih cepat. Volley ini sangat cocok di gunakan pada aplikasi yang menampilkan gambar dengan jumlah yang banyak.

Ada 4 (empat) Tools dari Volley yang paling sering digunakan yaitu sebagai berikut:

  1. SimpleRequestActivity yaitu membangun sebuah class yang anda ciptakan sendiri dengan menginduk ke salah satu class yang ada pada Volley diantaranya request classes, pengaturan prioritas permintaan data, dan inisialisasi hasil respon chace.
  2. ImageRequestActivity  yaitu contoh untuk menggunakan class ImageLoader.
  3. JsonSearchRequestActivity yaitu apabila ingin melakukan permintaan data yang masih dalam bentuk JSONobject dan memparsingnya dengan menggunakan GSON Library.
  4. NetworkImageSearchActivity merupakan kombinasi dari JSONrequest dan hasilnya diparsing menggunakan GSON Library yang selanjutnya akan ditapilkan kedalam List View.

Struktur Volley Library

Volley bekerja dan diatur  berdasarkan antrian atau disebut dengan RequestQueue.    RequestQueue menjadi pilihan yang tepat kerena dengan melakukan sekali permintaan data anda dapat menambahkan permintaan data kembali atau melakukan pembatalan terhadap permintaan data tersebut.

RequestQueue queue =Volley.newRequestQueue(this);

Parameter yang digunakan adalah

  • RequestMethod (get, post, delete, ect)
  • JSONObject – Sebuah objek yang akan diposting sesuai dengan request anda.
  • ResponseListener – Dijalankan ketika  request selesai diproses.
  • ErrorListener – Suatu perintah yang akan dijalankan ketika bermasalah dalam request.

 

Contoh Fungsi Untuk Menghapus Data



private void conHapus(final String ID){
 // Request Data menggunakan Method POST (Sesuai dengan kebutuhan);
 StringRequest reqHapus = new StringRequest(Request.Method.POST,"localhost/apps/hapus.php", new Response.Listener<String>() {
 @Override
 public void onResponse(String response) {
 // Ketika ada respon dari server
 hidePDialog();
 if(response.equals("")){
 system.out.println("data kosong");
 }else{
 try {
 ModelDB modelDb = null;
 // Konversi String kedalam JSONobject
 JSONObject jsonObject = new JSONObject(response);

 // Konversi JSONobject kedalam JSONArray
 JSONArray jsonArray = jsonObject.getJSONArray("value");
 if(jsonArray.length()&amp;amp;lt;=0){
 system.out.println("data kosong");
 }else{
 for (int i = 0; i &amp;amp;lt; jsonArray.length(); i++) {
 JSONObject obj = jsonArray.getJSONObject(i);
 modelDb= new ModelDB(); 

 // Setting nilai kedalam Model
 modelDb.SetStatus(obj.getString("statusData"));
 modelDb.SetId(obj.getString("lastId"));
 }

 if(modelDb.getA().equals("sukses")){
 system.out.println("data berhasil dihapus");
 }else{
 system.out.println("data Gagal dihapus");
 }

 }
 } catch (Throwable t) {
 return ;
 }

 }

 }
 }, new Response.ErrorListener() { // Ketika terjadi kesalahan dari server
 @Override
 public void onErrorResponse(VolleyError error) {
 hidePDialog();
 system.out.println("Error Respon."+error,ListDataActivity.this);
 }
 })
 {

 @Override
 protected Map<String,String> getParams(){
 Map<String,String> params = new HashMap<String, String>();
 // Setting nilai yang akan dikirim ke Web Service dengan Method POST
 params.put("id_objek",ID); //id_objek: nama variabel, ID: value
 params.put("req","deleteData"); //req: nama variabel, deleteData: value
 return params;

 }

 @Override
 public Map<String, String> getHeaders() throws AuthFailureError {
 Map<String,String> params = new HashMap<String, String>();
 params.put("Content-Type","application/x-www-form-urlencoded");
 return params;
 }
 };
 //Set time out
 int socketTimeout = 30000;
 RetryPolicy policy = new DefaultRetryPolicy(socketTimeout, DefaultRetryPolicy.DEFAULT_MAX_RETRIES, DefaultRetryPolicy.DEFAULT_BACKOFF_MULT);
 reqHapus.setRetryPolicy(policy);
 AppController.getInstance().addToRequestQueue(reqHapus);
 }

Nah, sampai disini dulu ya. Mudah – mudahan tidak bingung :). Artikel selanjutnya adalah Implementasi Android Volley Library Kedalam Aplikasi Android.

 

Salam Hangat

@the_heran

 

 

Leave a Reply