
Google 2013 de Volley kütüphanesini yayınladı.
Volley android için geliştirilmiş HTTP kütüphanesidir. İnternet üzerinden yapmak isteyebileceğiniz hemen herşeyi yapabiliyor. Yapabileceklerinin başında en popüler olanlar ise URL üzerinden resim indermek ve REST servislerine bağlanmak geliyor. Ben Rest api kullanarak örnek yaptım. Json kullanımları hakkında da detaylı olarak bir yazı yazacağım. İyi çalışmalar
Daha fazla bilgi almak isterseniz Google’ın hazırlamış olduğu sunumu izleyebilirsiniz.
Volley’in projeye dâhil edilmesi
build.gradle da kütüphaneleri tanımladığımız bölüm dependencies kısmına yapıştırın
1 |
implementation 'com.android.volley:volley:1.1.0' |
GET KULLANIMI
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
final String url = "URL GİRİLECEK KISIM"; //get sorgusunu burada döndürüyoruz. JsonObject olarak JsonObjectRequest getRequest = new JsonObjectRequest(Request.Method.GET, url, null, new Response.Listener<JSONObject>() { @Override public void onResponse(JSONObject response) { // gelen json datasını response da görebiliriz. Json ile datayı parçalayabiliriz Log.d("Response", response.toString()); } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { //Eğer herhangi hata ile karşılaşıldı ise bu bölüm çalıştırılır. Log.d("Error.Response", error.toString()); } } ); //veriyi yolla RequestQueue queue = Volley.newRequestQueue(this); queue.add(getRequest); |
POST KULLANIMI
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
RequestQueue queue = Volley.newRequestQueue(this); final String url = "URL GİRİLECEK KISIM"; //String bir değer alıyoruz bu kısımda StringRequest postRequest = new StringRequest(Request.Method.POST, url, new Response.Listener<String>() { @Override public void onResponse(String response) { //ekleme başarılı // ekledikten sonra mesaj yazdırılabilir Log.d("Response", response.toString()); } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { // herhangi bir hata olunca bu kısım çalışır Log.d("Error.Response", error.toString()); } } ) { @Override protected Map<String, String> getParams() { //Verilerin veri tabanına eklenmesini yapacak olduğumuz bölüm burada Map<String, String> params = new HashMap<String, String>(); params.put("isim", "Ünal Zafer"); params.put("e-posta", "info@unalzafer.com"); return params; } }; queue.add(postRequest); |
PUT KULLANIMI
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
RequestQueue queue = Volley.newRequestQueue(this); final String url = "URL GİRİLECEK KISIM"; //String bir değer alıyoruz bu kısımda StringRequest putRequest = new StringRequest(Request.Method.PUT, url, new Response.Listener<String>() { @Override public void onResponse(String response) { //ekleme başarılı // ekledikten sonra mesaj yazdırılabilir Log.d("Response", response.toString()); } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { // herhangi bir hata olunca bu kısım çalışır Log.d("Error.Response", error.toString()); } } ) { @Override protected Map<String, String> getParams() { //Verilerin veri tabanına güncellemesini yapacak olduğumuz bölüm Map<String, String> params = new HashMap<String, String>(); params.put("isim", "Ünal Zafer"); params.put("e-posta", "info@unalzafer.com"); return params; } }; queue.add(putRequest); |
DELETE KULLANIMI
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
RequestQueue queue = Volley.newRequestQueue(this); final String url = "URL GİRİLECEK KISIM"; StringRequest deleteRequest = new StringRequest(Request.Method.DELETE, url, new Response.Listener<String>() { @Override public void onResponse(String response) { // response Toast.makeText(this, response, Toast.LENGTH_LONG).show(); } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { // error. } } ); queue.add(deleteRequest); |
Yazıyı okuduğunuz için teşekkürler, artık medium üzerinde yazılarımı yayınlayacağım.
Medium hesabımı takip etmeyi unutmayın.
İlk yazımı yayınladım ulaşmak için tıklayınız.
Medium : https://medium.com/@unalzafer
4 gündür AsyncTask ile kafayı yemiştim, çok işime yaradı bu yazınız. çok teşekkürler.
Yorumunuz mutlu etti. İyi çalışmalar dilerim. Yakında retrofit ile ilgili de bir yazım olacak
Bu şekilde yaptım debug da çalışıyor ama release modda istek yapıyor ama cevap almıyor hatta 5 saniye bekleme ekledim yine de sonuç null dönüyor.
Merhaba. bu kodu bende kullandım fakat öyle bir sorun yaşamadım. Log atıp ne zaman veri geldiğine bakabilirsiniz veya server izni ile alakalı olabilir mi? Çözümü bulursanız paylaşırsanız sevinirim.
Sen bi kralsın