2013-07-14 16 views
10

Android'deki Volley kütüphanesini kullanarak isteklerimin önceliğini ayarlamaya çalışıyorum. İsteklerin önceliğini nasıl belirleyemiyorum.Ayar İsteği Öncelikli Volley

StringRequest request = new StringRequest(Request.Method.GET,"feed URL",volleyListener, volleyErrorListener); 
pe.requestQueue.add(request); 

Bunu yapacağını nasıl Herhangi bir düşünce?

cevap

13

Kitaplık maalesef henüz tam olarak dışarı çıkmadı. Bir istek için önceliği ayarlamak için, talebi genişletmeniz ve getPriority() öğesini geçersiz kılmanız gerekir. Örneğiniz için StringRequest'i genişleten ve getPriority() öğesini (ve belki de setPriority() de uygulayan yeni bir sınıf oluşturacağım, böylece farklı isteklerde öncelikleri programatik olarak değiştirebilirsiniz).

private Priority mPriority = Priority.LOW; 

@Override 
public Priority getPriority() { 
    return mPriority; 
} 

public void setPriority(Priority priority) { 
    mPriority = priority; 
} 

PriorityRequest sınıfından bir enum olan. İşte

+1

imagerequest Priority.LOW zaten ayarlanmış vardır ama işleri cevap çıkıyor. Teşekkürler. – TwistedEquations

+0

Evet, ImageRequest zaten var, ancak StringRequest yok ve Request sınıfı el ile ayarlamak için bir yöntem sağlamaz. Volley, olduğu gibi iyi çalışır, ancak kendi isteğinize göre uyarlamak isterseniz, özel sınıflar gereklidir. – Flynn81

+0

Volley dört öncelik düzeyini destekler - Düşük, Normal, Yüksek ve Hemen. – v01d

7

öncelik atamak için hızlı bir yoldur,

StringRequest request = new StringRequest(Request.Method.GET,"feed URL",volleyListener, volleyErrorListener) { 
     @Override 
     public Priority getPriority() { 
      return Priority.IMMEDIATE; 
     } 
    }; 
+0

Teşekkürler, bu sadece önceliği değiştirmek gibi basit bir şey yapmanın daha iyi bir yoludur. – LNI

+0

bu da önceliği ayarlayacaktır ben de biraz karışıkım lütfen açıklığa kavuşturabilir misiniz lütfen .. – Anandhu