当前位置: 首页>>代码示例>>Java>>正文


Java DiskLruCache.Snapshot方法代码示例

本文整理汇总了Java中com.squareup.okhttp.internal.DiskLruCache.Snapshot方法的典型用法代码示例。如果您正苦于以下问题:Java DiskLruCache.Snapshot方法的具体用法?Java DiskLruCache.Snapshot怎么用?Java DiskLruCache.Snapshot使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在com.squareup.okhttp.internal.DiskLruCache的用法示例。


在下文中一共展示了DiskLruCache.Snapshot方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: get

import com.squareup.okhttp.internal.DiskLruCache; //导入方法依赖的package包/类
@Override public CacheResponse get(URI uri, String requestMethod,
    Map<String, List<String>> requestHeaders) {
  String key = uriToKey(uri);
  DiskLruCache.Snapshot snapshot;
  Entry entry;
  try {
    snapshot = cache.get(key);
    if (snapshot == null) {
      return null;
    }
    entry = new Entry(snapshot.getInputStream(ENTRY_METADATA));
  } catch (IOException e) {
    // Give up because the cache cannot be read.
    return null;
  }

  if (!entry.matches(uri, requestMethod, requestHeaders)) {
    snapshot.close();
    return null;
  }

  return entry.isHttps() ? new EntrySecureCacheResponse(entry, snapshot)
      : new EntryCacheResponse(entry, snapshot);
}
 
开发者ID:aabognah,项目名称:LoRaWAN-Smart-Parking,代码行数:25,代码来源:HttpResponseCache.java

示例2: update

import com.squareup.okhttp.internal.DiskLruCache; //导入方法依赖的package包/类
private void update(CacheResponse conditionalCacheHit, HttpURLConnection httpConnection)
    throws IOException {
  HttpEngine httpEngine = getHttpEngine(httpConnection);
  URI uri = httpEngine.getUri();
  ResponseHeaders response = httpEngine.getResponseHeaders();
  RawHeaders varyHeaders =
      httpEngine.getRequestHeaders().getHeaders().getAll(response.getVaryFields());
  Entry entry = new Entry(uri, varyHeaders, httpConnection);
  DiskLruCache.Snapshot snapshot = (conditionalCacheHit instanceof EntryCacheResponse)
      ? ((EntryCacheResponse) conditionalCacheHit).snapshot
      : ((EntrySecureCacheResponse) conditionalCacheHit).snapshot;
  DiskLruCache.Editor editor = null;
  try {
    editor = snapshot.edit(); // returns null if snapshot is not current
    if (editor != null) {
      entry.writeTo(editor);
      editor.commit();
    }
  } catch (IOException e) {
    abortQuietly(editor);
  }
}
 
开发者ID:aabognah,项目名称:LoRaWAN-Smart-Parking,代码行数:23,代码来源:HttpResponseCache.java

示例3: getFromCache

import com.squareup.okhttp.internal.DiskLruCache; //导入方法依赖的package包/类
private FilterInputStream getFromCache(String url) throws Exception {
    DiskLruCache cache = DiskLruCache.open(CommonUtil.getImageSavePath(), 1, 2, 2*1024*1024);
    cache.flush();
    String key = Util.hash(url);
    final DiskLruCache.Snapshot snapshot;
    try {
        snapshot = cache.get(key);
        if (snapshot == null) {
            return null;
        }
    } catch (IOException e) {
        return null;
    }
    FilterInputStream bodyIn = new FilterInputStream(snapshot.getInputStream(1)) {
        @Override
        public void close() throws IOException {
            snapshot.close();
            super.close();
        }
    };
    return bodyIn;
}
 
开发者ID:ccfish86,项目名称:sctalk,代码行数:23,代码来源:GifLoadTask.java

示例4: newBodyInputStream

import com.squareup.okhttp.internal.DiskLruCache; //导入方法依赖的package包/类
/**
 * Returns an input stream that reads the body of a snapshot, closing the
 * snapshot when the stream is closed.
 */
private static InputStream newBodyInputStream(final DiskLruCache.Snapshot snapshot) {
  return new FilterInputStream(snapshot.getInputStream(ENTRY_BODY)) {
    @Override public void close() throws IOException {
      snapshot.close();
      super.close();
    }
  };
}
 
开发者ID:aabognah,项目名称:LoRaWAN-Smart-Parking,代码行数:13,代码来源:HttpResponseCache.java

示例5: EntryCacheResponse

import com.squareup.okhttp.internal.DiskLruCache; //导入方法依赖的package包/类
public EntryCacheResponse(Entry entry, DiskLruCache.Snapshot snapshot) {
  this.entry = entry;
  this.snapshot = snapshot;
  this.in = newBodyInputStream(snapshot);
}
 
开发者ID:aabognah,项目名称:LoRaWAN-Smart-Parking,代码行数:6,代码来源:HttpResponseCache.java

示例6: EntrySecureCacheResponse

import com.squareup.okhttp.internal.DiskLruCache; //导入方法依赖的package包/类
public EntrySecureCacheResponse(Entry entry, DiskLruCache.Snapshot snapshot) {
  this.entry = entry;
  this.snapshot = snapshot;
  this.in = newBodyInputStream(snapshot);
}
 
开发者ID:aabognah,项目名称:LoRaWAN-Smart-Parking,代码行数:6,代码来源:HttpResponseCache.java


注:本文中的com.squareup.okhttp.internal.DiskLruCache.Snapshot方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。