jak Volley.Request.getCacheKey()
zwraca URL, które w moim przypadku jest taka sama; to mi nie pasowało.
Zamiast tego musiałem zastąpić getCacheKey() w klasie dzieci do powrotu URL + POST (klucz = wartość)
W ten sposób udało mi się w pamięci podręcznej wszelkie żądania POST skierowane do tego samego adresu URL z różnymi danymi POST .
przy próbie pobrania buforowanego żądania należy skonstruować klucz pamięci podręcznej w ten sam sposób.
więc o to migawka z mojego kodu:
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;
}
}
Gdy kiedykolwiek skonstruować nowy wniosek można użyć getCacheKey(), aby wyszukać w pamięci podręcznej życzenie pierwszy przed wprowadzeniem go w kolejce żądań.
Mam nadzieję, że to pomoże.
Gdzie inicjalizujesz obiekt mParams? Proszę pomóż mi! –
Dziękuję, uratowałeś mi życie. –
zaoszczędzisz mój czas –