Je n'ai pas trouvé de réponse mise à jour pour cela. J'envoie des demandes avec Volley à une API Web. Il renvoie JSON. J'utilise la fonction de cache comme ci-dessous, mais je voudrais m'assurer que la listview est rafraichie de temps en temps (disons 30 minutes pour le moment). Comment puis-je invalider le cache pour cette URL donnée afin que mon application le gère automatiquement (sans bouton Actualiser)? Ce question a été utile en soulignant la différence entre invalider et supprimer.Android Volley, invalider le cache et faire une nouvelle demande toutes les (x) minutes
MainActivity.java
Cache cache = AppController.getInstance().getRequestQueue().getCache();
Entry entry = cache.get(URL_FEED);
if (entry != null) {
// fetch the data from cache
try {
String data = new String(entry.data, "UTF-8");
try {
parseJsonFeed(new JSONArray(data));
} catch (JSONException e) {
e.printStackTrace();
}
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
} else
{
// making fresh volley request and getting json
JsonArrayRequest getRequest = new JsonArrayRequest(URL_FEED,
new Response.Listener<JSONArray>()
{
@Override public void onResponse(JSONArray response) {
VolleyLog.d(TAG, "Response: " + response.toString());
if (response != null) {
parseJsonFeed(response);
}
Log.d("Response", response.toString());
}
},......ErrorListener
cela ne fonctionne pas correctement. – JosephM
@HemsLodha que voulez-vous dire par ne pas fonctionner correctement? S'il vous plaît élaborer. –
il y avait problème à mon extrémité ses travaux maintenant merci @Giru Bhai. mais le cache doit expirer dans un laps de temps lorsque nous demandons des données du serveur à travers les en-têtes de volée. c'est possible ? si oui alors comment? – JosephM