Android Volley Kütüphanesi ile Post İşlemi

Bugün Android “Volley” kütüphanesi ile bir sunucuya veri yollayarak gelen veriyi parçalama işlemine bakacağız. Bu işlemi kütüphane kullanmadan “AsyncTask” üzerinde de yapmak mümkün ancak işleri daha kolaylaştırmak adına popüler kütüphanelerden olan “Volley” ile yapacağız. Bunun için imdb üzerinden en çok izlenen 5 filmi alarak küçük bir web servis kısmını yazdım. Tabi siz web tarafında veri tabanı ile işlemler yaparak farklılaştırmanız mümkün. Bunun için öncelikle Php kodlarını ekleyeyim. Test etmek isterseniz alt tarafta Java içerisinde Url adresi ile kullanabilirsiniz.

Buradan sonra artık Android Studio üzerinden devam edelim. Öncelikle “app->Gradle” içerisine kütüphaneyi ekleyelim.

Şimdi “Applications” sınıfını “extends” ettiğimiz bir sınıf yapısına “Volley” için gerekli olan metotları ekleyelim. Bunun için “AppController.java” adında bir sınıf oluşturdum.

Sonra “AndroidManifest.xml” içerisinde izinleri ve “Application” altına bu sınıfı ekleyelim. “Application” altında “name” olarak ekliyoruz. Ek olarak birde internet izini alıyoruz.

Ardından “MainActivity.java” üzerinden devam edelim. Burada “Volley” içerisinde “StringRequest” yapısını kullanacağız. Ama bundan önce “MainActivity” içerisine Url yapılarını ekleyelim.

Artık bir metot içerisinde “StringRequest” kullanalım. En sade yapısı aşağıda ki gibi oluyor.

Eğer başarılı olur ise “onResponse” içerisine girecek. Her hangi bir hata olur ise “onErrorResponse” içerisine girecek.
“onResponse” metodu içerisinde “parseJson” adında bir metot yazarak onu çağıralım.

Daha sonra çalıştıralım.

Şimdi, eğer servise giderken içerisine her hangi bir veri eklemek istersek bunun için “Volley” tarafından “getParams” metodu bulunuyor. Bunu kullanarak içerisine “id” değeri ekleyelim. Bu metot bir “Map” olarak geri dönüş değeri bulunuyor.

Bununla birlikte metotu yazalım.

Son olarak “MainActivity.java” içerisindeki tüm kodları ekleyeyim.

Teşekkürler, görüşmek üzere.

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir