本文整理汇总了Java中com.google.android.apps.picview.data.WebResponseCursor.CachedWebResponse类的典型用法代码示例。如果您正苦于以下问题:Java CachedWebResponse类的具体用法?Java CachedWebResponse怎么用?Java CachedWebResponse使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
CachedWebResponse类属于com.google.android.apps.picview.data.WebResponseCursor包,在下文中一共展示了CachedWebResponse类的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: get
import com.google.android.apps.picview.data.WebResponseCursor.CachedWebResponse; //导入依赖的package包/类
/**
* Gets the response for the request with the given URL from the database.
*
* @param url
* the request {@link URL} of the response to get
* @return the response or <code>null</code>, if the database does not contain
* a response for the given URL
*/
public CachedWebResponse get(URL url) {
if (!responseDb.isReady()) {
return null;
}
WebResponseCursor c = responseDb.query(url.toString());
if (c == null) {
return null;
}
if (!c.moveToFirst()) {
c.close();
return null;
}
Log.i(TAG, "Trying to read web response from database");
return c.getResponseAndClose();
}
示例2: cachedFetch
import com.google.android.apps.picview.data.WebResponseCursor.CachedWebResponse; //导入依赖的package包/类
/**
* Performs a cached fetch. If the response is in one of the caches
* (file-system or in-memory), this version is returned. If the response could
* not be found in cache, it's fetched and automatically put into both caches.
*
* @param url
* the URL to fetch
* @param forceFetchFromWeb
* whether the content should be fetched from the web, regardless of
* whether it is present in any of the caches
*/
public CachedResponse<String> cachedFetch(URL url, boolean forceFetchFromWeb) {
// Make sure we have a URL object that we can synchronize on.
url = getSynchronizableInstance(url);
// Synchronize per URL.
synchronized (url) {
String responseText = null;
boolean fromDatabase = false;
if (!forceFetchFromWeb) {
// Get it from in-memory cache, if we have it.
if (cache.containsKey(url) && cache.get(url) != null) {
return new CachedResponse<String>(CachedResponse.FROM_MEMORY,
cache.get(url));
}
// If it's not in-memory, try to load it from file system.
CachedWebResponse response = fileSystemCache.get(url);
if (response != null) {
responseText = response.response;
fromDatabase = true;
}
}
// If it is also not found in the file system cache, or fetching
// from cache was intentionally skipped, try to fetch it
// from the network.
if (responseText == null || forceFetchFromWeb) {
responseText = fetchFromWeb(url);
if (responseText != null) {
fileSystemCache.asyncPut(url, "TODO", responseText);
}
}
if (responseText != null) {
cache.put(url, responseText);
}
return new CachedResponse<String>(fromDatabase ? CachedResponse.FROM_FILE
: CachedResponse.NOT_CACHED, responseText);
}
}