Press "Enter" to skip to content

Android Programlamada Volley Kullanımı

Halil Özel 0

Merhabalar Arkadaşlar,

Bugünkü yazımda sizlere Android programlamada kullanılan Volley kütüphanesinden bahsedip ondan sonrada bir örnek yapacağız. Hazırsanız haydi başlayalım 🙂

 

Volley Nedir ?

Volley, bir HTTP kütüphanesidir. Android uygulamalar için daha hızlı ve daha kolay ağ işlemleri yapılmasını sağlamaktadır. Bir sunucudan veri almak veya sunucuya veri yüklemek gibi işlemleri rahatlıkla yapmayı sağlar. Volley kütüphanesinin en önemli özelliği ise bu işlemleri yaparken sizi karmaşık yapılardan kurtarmasıdır. Uygulama geliştirmek için oldukça kullanışlı ve faydalı bir kütüphanedir.

 

Volley Kütüphanesinin Kullanıcıya Faydaları

  • Ağ isteklerini otomatik olarak zamanlar.
  • Aynı anda birden çok ağa bağlantı yapılır.
  • İsteklerinizi öncelik sırasına koyar.
  • Özelleştirme imkanı sağlar.
  • JSON verilerine erişim, resim indirme veya yükleme, sunucu veritabanına veri kaydı yapma gibi birçok işlemi kolay bir şekilde yapmayı sağlar.
  • Ağ üzerinde verilerinizi asenkron bir şekilde alır.

 

Volley Kütüphanesini Uygulamaya Eklemek

Volley kütüphanesini Android uygulamalarımızda kullanabilmek için Gradle dosyamıza gidiyoruz.

build.gradle(Module: app) yazan yere tıklayıp aşağıdaki kod satırını ekliyoruz.

Bu kod satırını ekledikten sonra projemizi rebuild ederek ekleme işlemlerini tamamlamış oluyoruz.

 

Manifest Dosyasına İnternet Erişim İznini Eklemek

Android uygulamaların uzak sunuculardan veriler alabilmesi için manifest dosyasında internet iznini tanımlamaları gerekir. İnternet iznini eklemezsek proje çalışmayacaktır.

Android Manifest dosyasına aşağıdaki izni ekliyoruz :

Bu iki işlemide Volley kütüphanesini kullanacağınız uygulamalara ekleminiz gerekmektedir.

 

Request Queue (İstek Kuyruğu) Oluşturmak

Volley ile bir istek kuyruğu oluşturmak için newRequestQueue() metodunu kullanmamız gerekiyor. Oluşturulan bu istek kuyruğu  ile istediğiniz bir isteği uygulayabilirsiniz.

Java’da istek kuyruğu tanımlama

Kotlin‘de istek kuyruğu tanımlama

 

İstek Nasıl Gönderilir ?

Oluşturulan bir isteği göndermek için RequestQueue sınıfının add() metodu kullanılır. Bu metot yardımıyla istek kuyruğuna yeni bir istek eklenir ve bu istek gönderilir. Aşağıda örnek bir istek oluşturalım. Oluşturduğumuz isteğide gönderelim. Örneğimizi Java ile yapıyoruz.

Örneğimizi Java ile yaptıktan sonra Kotlin ile nasıl yapılır merak edenler için aşağıya aynı örneğin Kotlin ile yapılmış halini ekliyorum.

Örneğimizde String bir istek tanımladık. Sonra bir url değişkenine “google” adresini verdik. StringRequest ile ilgili gerekli işlemleri yaptık. Eğer işlemler başarılı olursa textView içine çekilen verilerin 0 ile 500 karakterini yazdıracağız. İşlem başarısızsa textView içine hata mesajı yazdırılacak. Son olarak bu isteğe kuyruğa ekleyerek işlemi tamamlamış oluyoruz.

Volley ile ilgili arka planda neler olup bitiyor birde ona bakalım isterseniz :

 

system bars

add() metodunu çağırdığımız zaman Volley, cache thread ve network thread yapılarını çalıştırır. Kuyruğa eklenen bir istek öncelikle cache thread tarafından alınır. Yeşil renkli olan yapılar cache threadlerdir. Bu istek eğer cache bellekte varsa istek sonucunu doğrudan main thread’e yollanır. Eğer bu istek cache bellekte yoksa istek network thread’e gönderilir ve istek kuyruğuna eklenir. Bu thread’e verilen istekler, network thread tarafından istek kuyruğuna çekilir, HTTP gerekli işlemleri yapar ve sonuçları tekrar main thread’e yollanır. Bu yollardan herhangi birini takip ederek gereken işlemler yapılır ve istek sonuçları kullanıcıya gösterilir.

İstek Nasıl İptal Edilir ?

Bir isteği iptal etmek için Request nesnesinde bulunan cancel () metdounu çağırın. Bir kez iptal edildiğinde, Volley yanıt işleyicinizin asla çağrılmayacağını garanti eder. Bunun pratikteki anlamı size etkinliğin OnStop () yönteminde bekleyen tüm istekleri iptal edebilirsiniz. Aşağıdaki örnekte kuyruğa bir şey ekleniyor. Eklenen veriyi nasıl iptal edeceğiz onu göreceksiniz.

1- Etiketimizi tamamlayıp isteğimizi ekliyoruz.

Java’daki kullanımı : 

Kotlin’deki kullanımı :

 

2- onStop () metoduyla oluşturulan istekleri ve işlemleri iptal ediyoruz.

Java’daki kullanımı : 

Kotlin’deki kullanımı :

İstekleri iptal ederken dikkatli olmak gerekir. Bir daveti ilerletmek veya başka bir işlemi başlatmak için yanıt işleyicinize (response handler) bağlıysanız, bunu hesaba katmanız gerekir. Bunu göz ardı ederseniz hatalarla karşılaşabilirsiniz.

 

Request Yapılandırması 

Tüm uygulamalarda kullanabileceğimiz ve her uygulamada bulunması gereken yapılandırılmış bir istek kuyruğu oluşturuyoruz.

Kotlin dilinde request yapılandırmasını yaptık. Bu sınıfı volley kullanmak istediğiniz her uygulamaya ekleyip kullanabilirsiniz. Farklı bir örnek olması açısından Android’in sitesinde image kullanımı ile ilgili hem Java hem de Kotlin dili ile ilgili kodların bulunduğu örneği aşağıdaki linkten ulaşabilirsiniz :

https://developer.android.com/training/volley/requestqueue#java

Bu yapıları ilerleyen yazılarımda örneklerle açıklayarak anlatacağım.

Son olarak Request’te kullanılan sınıflardan bahsedeceğim.

 

Standart Request Sınıfları 

Volley ile gelen en önemli yapılar kuşkusuz standart istekleridir.

Bunlar aşağıdaki gibidir :

  1. String Request : URL bilgisi verilen bir sunucudan string verileri almak için kullanılan sınıflardır.
  2. Image Request : URL bilgisi verilen bir sunucudan resim verileri almak için kullanılan sınıflardır.
  3. JSON Object Request : URL bilgisi verilen bir sunucudan JSON nesnesi almak için kullanılan sınıflardır.
  4. JSON Array Request : URL bilgisi verilen bir sunucudan JSON dizisi almak için kullanılan sınıflardır.

 

Evet arkadaşlar bu yazımda sizlere Android programlamada Volley nasıl kullanılır ondan bahsettim. Gelecek derslerde Volley kullanarak bir mini hava durumu uygulaması yapmayı planlıyorum. Lütfen takipte kalınız 🙂 Kendinize iyi bakın.

 

Yararlandığım Kaynaklar 

    Bir cevap yazın

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