當前位置: 首頁>>代碼示例>>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;未經允許,請勿轉載。