本文整理汇总了Java中com.lzy.okgo.cache.CacheEntity类的典型用法代码示例。如果您正苦于以下问题:Java CacheEntity类的具体用法?Java CacheEntity怎么用?Java CacheEntity使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
CacheEntity类属于com.lzy.okgo.cache包,在下文中一共展示了CacheEntity类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: OkGo
import com.lzy.okgo.cache.CacheEntity; //导入依赖的package包/类
private OkGo() {
mDelivery = new Handler(Looper.getMainLooper());
mRetryCount = 3;
mCacheTime = CacheEntity.CACHE_NEVER_EXPIRE;
mCacheMode = CacheMode.NO_CACHE;
OkHttpClient.Builder builder = new OkHttpClient.Builder();
HttpLoggingInterceptor loggingInterceptor = new HttpLoggingInterceptor("OkGo");
loggingInterceptor.setPrintLevel(HttpLoggingInterceptor.Level.BODY);
loggingInterceptor.setColorLevel(Level.INFO);
builder.addInterceptor(loggingInterceptor);
builder.readTimeout(OkGo.DEFAULT_MILLISECONDS, TimeUnit.MILLISECONDS);
builder.writeTimeout(OkGo.DEFAULT_MILLISECONDS, TimeUnit.MILLISECONDS);
builder.connectTimeout(OkGo.DEFAULT_MILLISECONDS, TimeUnit.MILLISECONDS);
HttpsUtils.SSLParams sslParams = HttpsUtils.getSslSocketFactory();
builder.sslSocketFactory(sslParams.sSLSocketFactory, sslParams.trustManager);
builder.hostnameVerifier(HttpsUtils.UnSafeHostnameVerifier);
okHttpClient = builder.build();
}
示例2: requestSync
import com.lzy.okgo.cache.CacheEntity; //导入依赖的package包/类
@Override
public Response<T> requestSync(CacheEntity<T> cacheEntity) {
try {
prepareRawCall();
} catch (Throwable throwable) {
return Response.error(false, rawCall, null, throwable);
}
Response<T> response = requestNetworkSync();
//HTTP cache protocol
if (response.isSuccessful() && response.code() == 304) {
if (cacheEntity == null) {
response = Response.error(true, rawCall, response.getRawResponse(), CacheException.NON_AND_304(request.getCacheKey()));
} else {
response = Response.success(true, cacheEntity.getData(), rawCall, response.getRawResponse());
}
}
return response;
}
示例3: requestAsync
import com.lzy.okgo.cache.CacheEntity; //导入依赖的package包/类
@Override
public void requestAsync(CacheEntity<T> cacheEntity, Callback<T> callback) {
mCallback = callback;
runOnUiThread(new Runnable() {
@Override
public void run() {
mCallback.onStart(request);
try {
prepareRawCall();
} catch (Throwable throwable) {
Response<T> error = Response.error(false, rawCall, null, throwable);
mCallback.onError(error);
return;
}
requestNetworkAsync();
}
});
}
示例4: requestSync
import com.lzy.okgo.cache.CacheEntity; //导入依赖的package包/类
@Override
public Response<T> requestSync(CacheEntity<T> cacheEntity) {
try {
prepareRawCall();
} catch (Throwable throwable) {
return Response.error(false, rawCall, null, throwable);
}
//同步请求,不能返回两次,只返回正确的数据
Response<T> response;
if (cacheEntity != null) {
response = Response.success(true, cacheEntity.getData(), rawCall, null);
}
response = requestNetworkSync();
if (!response.isSuccessful() && cacheEntity != null) {
response = Response.success(true, cacheEntity.getData(), rawCall, response.getRawResponse());
}
return response;
}
示例5: requestAsync
import com.lzy.okgo.cache.CacheEntity; //导入依赖的package包/类
@Override
public void requestAsync(final CacheEntity<T> cacheEntity, Callback<T> callback) {
mCallback = callback;
runOnUiThread(new Runnable() {
@Override
public void run() {
mCallback.onStart(request);
try {
prepareRawCall();
} catch (Throwable throwable) {
Response<T> error = Response.error(false, rawCall, null, throwable);
mCallback.onError(error);
return;
}
if (cacheEntity != null) {
Response<T> success = Response.success(true, cacheEntity.getData(), rawCall, null);
mCallback.onCacheSuccess(success);
}
requestNetworkAsync();
}
});
}
示例6: requestSync
import com.lzy.okgo.cache.CacheEntity; //导入依赖的package包/类
@Override
public Response<T> requestSync(CacheEntity<T> cacheEntity) {
try {
prepareRawCall();
} catch (Throwable throwable) {
return Response.error(false, rawCall, null, throwable);
}
Response<T> response = null;
if (cacheEntity != null) {
response = Response.success(true, cacheEntity.getData(), rawCall, null);
}
if (response == null) {
response = requestNetworkSync();
}
return response;
}
示例7: requestAsync
import com.lzy.okgo.cache.CacheEntity; //导入依赖的package包/类
@Override
public void requestAsync(final CacheEntity<T> cacheEntity, Callback<T> callback) {
mCallback = callback;
runOnUiThread(new Runnable() {
@Override
public void run() {
mCallback.onStart(request);
try {
prepareRawCall();
} catch (Throwable throwable) {
Response<T> error = Response.error(false, rawCall, null, throwable);
mCallback.onError(error);
return;
}
if (cacheEntity != null) {
Response<T> success = Response.success(true, cacheEntity.getData(), rawCall, null);
mCallback.onCacheSuccess(success);
mCallback.onFinish();
return;
}
requestNetworkAsync();
}
});
}
示例8: getAll
import com.lzy.okgo.cache.CacheEntity; //导入依赖的package包/类
@SuppressWarnings("unchecked")
@OnClick(R.id.getAll)
public void getAll(View view) {
// 获取所有的缓存,但是一般每个缓存的泛型都不一样,所以缓存的泛型使用 ?
List<CacheEntity<?>> all = CacheManager.getInstance().getAll();
StringBuilder sb = new StringBuilder();
sb.append("共" + all.size() + "条缓存:").append("\n\n");
for (int i = 0; i < all.size(); i++) {
CacheEntity<?> cacheEntity = all.get(i);
sb.append("第" + (i + 1) + "条缓存:").append("\n").append(cacheEntity).append("\n\n");
}
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("所有缓存显示").setMessage(sb.toString()).show();
}
示例9: execute
import com.lzy.okgo.cache.CacheEntity; //导入依赖的package包/类
@Override
public void execute(Callback<T> callback) {
HttpUtils.checkNotNull(callback, "callback == null");
CacheEntity<T> cacheEntity = policy.prepareCache();
policy.requestAsync(cacheEntity, callback);
}
示例10: saveCache
import com.lzy.okgo.cache.CacheEntity; //导入依赖的package包/类
/**
* 请求成功后根据缓存模式,更新缓存数据
*
* @param headers 响应头
* @param data 响应数据
*/
private void saveCache(Headers headers, T data) {
if (request.getCacheMode() == CacheMode.NO_CACHE) return; //不需要缓存,直接返回
if (data instanceof Bitmap) return; //Bitmap没有实现Serializable,不能缓存
CacheEntity<T> cache = HeaderParser.createCacheEntity(headers, data, request.getCacheMode(), request.getCacheKey());
if (cache == null) {
//服务器不需要缓存,移除本地缓存
CacheManager.getInstance().remove(request.getCacheKey());
} else {
//缓存命中,更新缓存
CacheManager.getInstance().replace(request.getCacheKey(), cache);
}
}
示例11: requestSync
import com.lzy.okgo.cache.CacheEntity; //导入依赖的package包/类
@Override
public Response<T> requestSync(CacheEntity<T> cacheEntity) {
try {
prepareRawCall();
} catch (Throwable throwable) {
return Response.error(false, rawCall, null, throwable);
}
return requestNetworkSync();
}
示例12: requestSync
import com.lzy.okgo.cache.CacheEntity; //导入依赖的package包/类
@Override
public Response<T> requestSync(CacheEntity<T> cacheEntity) {
try {
prepareRawCall();
} catch (Throwable throwable) {
return Response.error(false, rawCall, null, throwable);
}
Response<T> response = requestNetworkSync();
if (!response.isSuccessful() && cacheEntity != null) {
response = Response.success(true, cacheEntity.getData(), rawCall, response.getRawResponse());
}
return response;
}
示例13: onCreate
import com.lzy.okgo.cache.CacheEntity; //导入依赖的package包/类
@Override
public void onCreate() {
super.onCreate();
//全局初始化
OkGo.init(this);
OkGo.getInstance().setConnectTimeout(3000)
.setReadTimeOut(3000)
.setWriteTimeOut(3000)
.setCacheMode(CacheMode.IF_NONE_CACHE_REQUEST)
.setCacheTime(CacheEntity.CACHE_NEVER_EXPIRE)
.setRetryCount(3);
}
示例14: handleCache
import com.lzy.okgo.cache.CacheEntity; //导入依赖的package包/类
/**
* 请求成功后根据缓存模式,更新缓存数据
*
* @param headers 响应头
* @param data 响应数据
*/
@SuppressWarnings("unchecked")
private void handleCache(Headers headers, T data) {
if (baseRequest.getCacheMode() == CacheMode.NO_CACHE) return; //不需要缓存,直接返回
if (data instanceof Bitmap) return; //Bitmap没有实现Serializable,不能缓存
CacheEntity<T> cache = HeaderParser.createCacheEntity(headers, data, baseRequest.getCacheMode(), baseRequest.getCacheKey());
if (cache == null) {
//服务器不需要缓存,移除本地缓存
CacheManager.INSTANCE.remove(baseRequest.getCacheKey());
} else {
//缓存命中,更新缓存
CacheManager.INSTANCE.replace(baseRequest.getCacheKey(), (CacheEntity<Object>) cache);
}
}
示例15: initOkGo
import com.lzy.okgo.cache.CacheEntity; //导入依赖的package包/类
private void initOkGo() {
//---------这里给出的是示例代码,告诉你可以这么传,实际使用的时候,根据需要传,不需要就不传-------------//
HttpHeaders headers = new HttpHeaders();
headers.put("commonHeaderKey1", "commonHeaderValue1"); //header不支持中文,不允许有特殊字符
headers.put("commonHeaderKey2", "commonHeaderValue2");
HttpParams params = new HttpParams();
params.put("commonParamsKey1", "commonParamsValue1"); //param支持中文,直接传,不要自己编码
params.put("commonParamsKey2", "这里支持中文参数");
//----------------------------------------------------------------------------------------//
OkHttpClient.Builder builder = new OkHttpClient.Builder();
//log相关
HttpLoggingInterceptor loggingInterceptor = new HttpLoggingInterceptor("OkGo");
loggingInterceptor.setPrintLevel(HttpLoggingInterceptor.Level.BODY); //log打印级别,决定了log显示的详细程度
loggingInterceptor.setColorLevel(Level.INFO); //log颜色级别,决定了log在控制台显示的颜色
builder.addInterceptor(loggingInterceptor); //添加OkGo默认debug日志
//第三方的开源库,使用通知显示当前请求的log,不过在做文件下载的时候,这个库好像有问题,对文件判断不准确
//builder.addInterceptor(new ChuckInterceptor(this));
//超时时间设置,默认60秒
builder.readTimeout(OkGo.DEFAULT_MILLISECONDS, TimeUnit.MILLISECONDS); //全局的读取超时时间
builder.writeTimeout(OkGo.DEFAULT_MILLISECONDS, TimeUnit.MILLISECONDS); //全局的写入超时时间
builder.connectTimeout(OkGo.DEFAULT_MILLISECONDS, TimeUnit.MILLISECONDS); //全局的连接超时时间
//自动管理cookie(或者叫session的保持),以下几种任选其一就行
//builder.cookieJar(new CookieJarImpl(new SPCookieStore(this))); //使用sp保持cookie,如果cookie不过期,则一直有效
builder.cookieJar(new CookieJarImpl(new DBCookieStore(this))); //使用数据库保持cookie,如果cookie不过期,则一直有效
//builder.cookieJar(new CookieJarImpl(new MemoryCookieStore())); //使用内存保持cookie,app退出后,cookie消失
//https相关设置,以下几种方案根据需要自己设置
//方法一:信任所有证书,不安全有风险
HttpsUtils.SSLParams sslParams1 = HttpsUtils.getSslSocketFactory();
//方法二:自定义信任规则,校验服务端证书
HttpsUtils.SSLParams sslParams2 = HttpsUtils.getSslSocketFactory(new SafeTrustManager());
//方法三:使用预埋证书,校验服务端证书(自签名证书)
//HttpsUtils.SSLParams sslParams3 = HttpsUtils.getSslSocketFactory(getAssets().open("srca.cer"));
//方法四:使用bks证书和密码管理客户端证书(双向认证),使用预埋证书,校验服务端证书(自签名证书)
//HttpsUtils.SSLParams sslParams4 = HttpsUtils.getSslSocketFactory(getAssets().open("xxx.bks"), "123456", getAssets().open("yyy.cer"));
builder.sslSocketFactory(sslParams1.sSLSocketFactory, sslParams1.trustManager);
//配置https的域名匹配规则,详细看demo的初始化介绍,不需要就不要加入,使用不当会导致https握手失败
builder.hostnameVerifier(new SafeHostnameVerifier());
// 其他统一的配置
// 详细说明看GitHub文档:https://github.com/jeasonlzy/
OkGo.getInstance().init(this) //必须调用初始化
.setOkHttpClient(builder.build()) //建议设置OkHttpClient,不设置会使用默认的
.setCacheMode(CacheMode.NO_CACHE) //全局统一缓存模式,默认不使用缓存,可以不传
.setCacheTime(CacheEntity.CACHE_NEVER_EXPIRE) //全局统一缓存时间,默认永不过期,可以不传
.setRetryCount(3) //全局统一超时重连次数,默认为三次,那么最差的情况会请求4次(一次原始请求,三次重连请求),不需要可以设置为0
.addCommonHeaders(headers) //全局公共头
.addCommonParams(params); //全局公共参数
}