Android Volley Kullanımı

Volley, Android uygulamalarında network işlemlerinin yapımında kullanılmak üzere geliştirilen, bu işlemlerin yapılmasını kolaylaştıran ve daha da önemlisi hızlandıran bir kütüphanedir. Temel olarak bir network kütüphanesi olan Volley, kendisine gösterilen URL adresine bağlanıyor ve oradan sağlanan verileri size sunuyor. Default olarak Volley, bu işlemleri asenkron olarak gerçekleştirmektedir. Bundan dolayı bu tür işlemler için Asynctask yapılarını kullanma gibi dertlerimiz olmayacak.
Volley kütüphanesinin bizlere sunduğu avantajlar genel olarak aşağıda sıralanmıştır.

Network işlemlerinde otomatik zamanlama
Çoklu eşzamanlı olarak gerçekleşebilen network işlemleri
HTTP üzerinden resim indirmenize imkan tanır. İndirdiğiniz resimleri bellekte ya da disk üzerinde cache’ yebilirsiniz. Resimleriniz inerken, ImageView içerisinde otomatik olarak bir “loading” simgesi gösterebilirsiniz ve aynı zamanda hata durumları için görsel ayarlayabilirsiniz.
İstekleri kuyruk yapısında tutar ve eğer isteğin cevabına artık ihtiyaç kalmadıysa otomatik olarak isteği iptal eder.
Istekler arasında önceliklendirme yapmanıza olanak tanır.
En önemli özelliklerinden birisi de request’leri kolaylıkla iptal edebilirsiniz.
Volley kütüphanesini edinmek

Öncelikle Volley.jar’ı nasıl elde edebileceğinize bakalım. Ne yazık ki Volleykütüphanesini kendinizin indirip JAR’laması gerekmektedir. Ben bu yazıda bu işlemlerin nasıl gerçekleştirildiğinden bahsetmek istemiyorum. Gerekli bilgileri Google hazırlamış olduğu sayfadan edinebilirsiniz

İnternet iznini almayı unutmayın!

Volley kütüphanesini kullanabilmeniz amacıyla, uygulamanızın manifest dosyasına android.permission.INTERNET iznini eklemeniz gerekmektedir. Bu izin olmadan geliştirdiğiniz uygulama ağ bağlantısı kuramayacaktır.

Volley Singleton sınıfı oluşturalım.

Eğer uygulamanız sürekli olarak network işlemleri geliştirecekse, uygulamanın hayat döngüsü boyunca kullanılacak olan RequestQueue nesnesinin tek bir örneğini kullanmak en etkili yol gibi görünmekte. Bu işlemi bir kaç alternatif yöntem ile gerçekleştirebilirsiniz. Önerilen yaklaşım ise, RequestQueue ve diğerVolley fonksiyonel özelliklerini barındıran singleton sınıf yapısının kullanılmasıdır.

Bu yapının kullanımı ise şu şekilde örneklenebilir.

Bu yazının içerisinde kullanılan örnek kodlar Google ‘ ın hazırlamış olduğu örnek sayfadan sadece bir tanıtım ve fikir vermesi amacıyla alınmıştır. Geliştirmek istediğiniz uygulamalara göre bu sınıfın içerisini düzenleyebilirsiniz.