我在网上搜索了这个,但无法找到答案。
我使用HttpResponeCache来缓存来自我的http请求的响应。 但我希望我的应用程序,如果没有可用的互联网且文件仍然存在,则使用该缓存。
缓存:
private void enableHttpResponseCache(File cacheDir) {
try {
long httpCacheSize = 10 * 1024 * 1024; // 10 MiB
File httpCacheDir = new File(cacheDir, "http");
Class.forName("android.net.http.HttpResponseCache")
.getMethod("install", File.class, long.class)
.invoke(null, httpCacheDir, httpCacheSize);
} catch (Exception httpResponseCacheNotAvailable) {
}
}
我查看了该函数创建的文件,有3个文件:
文件e8b34557a3241feb7e186d1b86c9af4c.1确实包含我的JSON数据。
那么有没有办法获取和使用这些数据?
答案 0 :(得分:0)
查看HTTPResponseCache
的{{3}}。您可以强制缓存响应!
//....
try {
connection.addRequestProperty("Cache-Control", "only-if-cached");
InputStream cached = connection.getInputStream();
// the resource was cached! show it
catch (FileNotFoundException e) {
// the resource was not cached
}