wie die Volley.Request.getCacheKey()
kehrt die URL, die in meinem Fall geschehen ist die gleiche; das hat bei mir nicht funktioniert.
Stattdessen hatte ich getCacheKey() in meinem Kind Klasse außer Kraft zu setzen URL + POST (key = Value)
Auf diese Weise konnte ich Cache all POST Anfragen an die gleiche URL mit unterschiedlichen POST-Daten zurück .
Wenn Sie versuchen, die zwischengespeicherte Anforderung abzurufen, müssen Sie den Cache-Schlüssel auf die gleiche Weise erstellen.
so hier ist eine Momentaufnahme meines Codes:
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;
}
}
Wann immer Sie eine neue Anforderung konstruieren Sie getCacheKey verwenden können() für die im Cache gespeicherten Anforderung zuerst zu suchen, bevor es in den Anfragen Warteschlange stellen.
Ich hoffe, das hilft.
Wo initialisierst du das mParams-Objekt? Bitte hilf mir! –
Danke, Du hast mir das Leben gerettet. –
Sie haben meine Zeit gespeichert –