Volley.Request.getCacheKey()
रिटर्न यूआरएल जो मेरे मामले में एक ही है के रूप में
साथ किया जा सकता है; इसने मेरे लिए काम नहीं किया।
इसके बजाय मैं अपने बच्चे कक्षा में getCacheKey() ओवरराइड करने के लिए URL + पोस्ट (कुंजी = मूल्य)
इस तरह मैं सभी पोस्ट अलग पोस्ट डेटा के साथ उसी यूआरएल से किए गए अनुरोधों को कैश करने में सक्षम था लौटना पड़ा ।
जब आप कैश किए गए अनुरोध को पुनर्प्राप्त करने का प्रयास करते हैं तो आपको उसी तरह कैश कुंजी बनाने की आवश्यकता होती है।
public class CustomPostRequest extends Request<String> {
.
.
private Map<String, String> mParams;
.
.
public void SetPostParam(String strParam, String strValue)
{
mParams.put(strParam, strValue);
}
@Override
public Map<String, String> getParams() {
return mParams;
}
@Override
public String getCacheKey() {
String temp = super.getCacheKey();
for (Map.Entry<String, String> entry : mParams.entrySet())
temp += entry.getKey() + "=" + entry.getValue();
return temp;
}
}
जब कभी आप एक नया अनुरोध आप getCacheKey उपयोग कर सकते हैं का निर्माण पहले अनुरोध कतार में यह डालने से पहले कैश की गई अनुरोध के लिए खोज करने के लिए():
इसलिए यहाँ मेरी कोड का एक स्नैपशॉट है।
मुझे उम्मीद है कि इससे मदद मिलती है।
स्रोत
2014-10-12 23:24:49
आप mParams ऑब्जेक्ट को कहां प्रारंभ करते हैं? कृपया मेरी मदद करें! –
धन्यवाद, आपने अपना जीवन बचाया। –
आपने अपना समय –