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


Java CacheEntity类代码示例

本文整理汇总了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();
}
 
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:22,代码来源:OkGo.java

示例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;
}
 
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:19,代码来源:DefaultCachePolicy.java

示例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();
        }
    });
}
 
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:20,代码来源:DefaultCachePolicy.java

示例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;
}
 
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:19,代码来源:FirstCacheRequestPolicy.java

示例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();
        }
    });
}
 
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:24,代码来源:FirstCacheRequestPolicy.java

示例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;
}
 
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:17,代码来源:NoneCacheRequestPolicy.java

示例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();
        }
    });
}
 
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:26,代码来源:NoneCacheRequestPolicy.java

示例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();
}
 
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:15,代码来源:CacheActivity.java

示例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);
}
 
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:8,代码来源:CacheCall.java

示例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);
    }
}
 
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:20,代码来源:BaseCachePolicy.java

示例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();
}
 
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:10,代码来源:NoCachePolicy.java

示例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;
}
 
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:14,代码来源:RequestFailedCachePolicy.java

示例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);
}
 
开发者ID:JackChan1999,项目名称:GoogleVR,代码行数:13,代码来源:MyApplication.java

示例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);
    }
}
 
开发者ID:feer921,项目名称:BaseProject,代码行数:21,代码来源:CacheCall.java

示例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);                       //全局公共参数
}
 
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:53,代码来源:GApp.java


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