J'utilise la bibliothèque Volley de Google comme modèle pour obtenir des données réseau;Volley: Comment configurer un Cache.Entry
J'ai mis en place un RequestQueue
requestQueue = new RequestQueue(new DiskBasedCache(new File(context.getCacheDir(),
DEFAULT_CACHE_DIR)), new BasicNetwork(new
HttpClientStack(AndroidHttpClient.newInstance(userAgent))));
J'ai aussi demande sous-classé, et contiennent des données à revenir du réseau très bien. Mon problème est avec la mise en cache: dans parseNetworkResponse() qui est redéfinie dans ma sous-classe de la demande, quand je l'appelle
return Response.success(list, HttpHeaderParser.parseCacheHeaders(response));
HttpHeaderParser.parseCacheHeaders (réponse) renvoie NULL car le serveur est configuré pour « mise en cache pas » dans sa En-tête de réponse ... Peu importe que je voudrais encore mettre en cache ces données pour un nombre variable d'heures (24 heures probablement), Comment puis-je faire cela en créant une volée Cache.Entry ... Je crois comprendre que l'URL est utilisé comme valeur de clé de cache (et je voudrais que ce soit l'URL). Pour résumer, depuis HttpHeaderParser.parseCacheHeaders (réponse) renvoie null, je voudrais créer un nouveau Cache.Entry qui est mis en place pour expirer après 24 heures, et la clé de cache étant l'URL de la demande.
Des pensées?
Merci!
J'ai fini par le faire, je vous remercie :) – chocospaz