im assumed as you use the term cache - data expires every x minutes / hours
if the data changes every few minutes, just save your webservice response in some local variable (if you need to use it for only one activity of the listview view)
or save it in a global variable (extend the application class and display the public variable here)
if your data changes every few hours, it is better to understand how to save it in sqlite (if your data requires complex query / union, etc.)
or just save it as a file (in json or xml format) and check this file and its expiration date and, if it is still valid, just decrypt it instead of calling your web service again
source share