123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 |
- package com.edufound.reader.util;
- import android.app.Activity;
- import android.content.Context;
- import android.content.Intent;
- import android.os.Environment;
- import com.edufound.reader.bean.HttpResultBean;
- import com.edufound.reader.receiver.ShowFollowReceiver;
- import com.edufound.reader.receiver.ShowPageLoadingReceiver;
- import com.google.gson.reflect.TypeToken;
- import com.okhttplib.HttpInfo;
- import com.okhttplib.OkHttpUtil;
- import com.okhttplib.annotation.CacheType;
- import com.okhttplib.annotation.Encoding;
- import com.okhttplib.callback.BaseCallback;
- import com.okhttplib.callback.Callback;
- import com.okhttplib.callback.ProgressCallback;
- import com.okhttplib.cookie.PersistentCookieJar;
- import com.okhttplib.cookie.cache.SetCookieCache;
- import com.okhttplib.cookie.persistence.SharedPrefsCookiePersistor;
- import com.orhanobut.logger.Logger;
- import java.io.File;
- import java.io.IOException;
- public class OkHttpClient {
- //初始化OKHTTP
- private static String downloadFileDir = Environment.getExternalStorageDirectory().getPath() + "/okHttp_download/";
- private static String cacheDir = Environment.getExternalStorageDirectory().getPath() + "/okHttp_cache";
- public static void initOkHttpUtil(Context context) {
- OkHttpUtil.init(context)
- .setConnectTimeout(10)//连接超时时间
- .setWriteTimeout(15)//写超时时间
- .setReadTimeout(15)//读超时时间
- .setMaxCacheSize(10 * 1024 * 1024)//缓存空间大小
- .setCacheType(CacheType.FORCE_NETWORK)//缓存类型
- .setHttpLogTAG("HttpLog")//设置请求日志标识
- .setIsGzip(false)//Gzip压缩,需要服务端支持
- .setShowHttpLog(true)//显示请求日志
- .setShowLifecycleLog(false)//显示Activity销毁日志
- .setRetryOnConnectionFailure(false)//失败后不自动重连
- .setCachedDir(new File(cacheDir))//设置缓存目录
- .setDownloadFileDir(downloadFileDir)//文件下载保存目录
- .setResponseEncoding(Encoding.UTF_8)//设置全局的服务器响应编码
- .setRequestEncoding(Encoding.UTF_8)//设置全局的请求参数编码
- // .setHttpsCertificate("12306.cer")//设置全局Https证书
- .addResultInterceptor(HttpInterceptor.ResultInterceptor)//请求结果拦截器
- .addExceptionInterceptor(HttpInterceptor.ExceptionInterceptor)//请求链路异常拦截器
- .setCookieJar(new PersistentCookieJar(new SetCookieCache(), new SharedPrefsCookiePersistor(context)))//持久化cookie
- .build();
- }
- public static void doGetAsync(Activity activity, HttpInfo.Builder info, BaseCallback callback) {
- if (!info.build().getUrl().contains("posts/list") && !info.build().getUrl().contains("/userRead/check")) {
- Intent intent = new Intent(ShowPageLoadingReceiver.PAGE_LOADING_SHOW);
- Consts.getmApplicAtion().getApplicationContext().sendBroadcast(intent);
- }
- OkHttpUtil.getDefault(activity).doGetAsync(info.addHead("uid", Consts.getUID()).build(), new EfunboxCallBack(callback));
- }
- public static void doPostAsync(Activity activity, HttpInfo.Builder info, BaseCallback callback) {
- Intent intent = new Intent(ShowPageLoadingReceiver.PAGE_LOADING_SHOW);
- Consts.getmApplicAtion().getApplicationContext().sendBroadcast(intent);
- OkHttpUtil.getDefault(activity).doPostAsync(info.addHead("uid", Consts.getUID()).build(), new EfunboxCallBack(callback));
- }
- public static void doPostAsync(HttpInfo.Builder info, BaseCallback callback) {
- if (!info.build().getUrl().contains("playLog")) {
- Intent intent = new Intent(ShowPageLoadingReceiver.PAGE_LOADING_SHOW);
- Consts.getmApplicAtion().getApplicationContext().sendBroadcast(intent);
- }
- OkHttpUtil.getDefault().doPostAsync(info.addHead("uid", Consts.getUID()).build(), new EfunboxCallBack(callback));
- }
- public static void doPutAsync(Activity activity, HttpInfo.Builder info, BaseCallback callback) {
- Intent intent = new Intent(ShowPageLoadingReceiver.PAGE_LOADING_SHOW);
- Consts.getmApplicAtion().getApplicationContext().sendBroadcast(intent);
- OkHttpUtil.getDefault(activity).doPutAsync(info.addHead("uid", Consts.getUID()).build(), new EfunboxCallBack(callback));
- }
- public static void doDeleteAsync(Activity activity, HttpInfo.Builder info, BaseCallback callback) {
- Intent intent = new Intent(ShowPageLoadingReceiver.PAGE_LOADING_SHOW);
- Consts.getmApplicAtion().getApplicationContext().sendBroadcast(intent);
- OkHttpUtil.getDefault(activity).doDeleteAsync(info.addHead("uid", Consts.getUID()).build(), new EfunboxCallBack(callback));
- }
- public static void doUploadFile(Activity activity, HttpInfo.Builder info) {
- OkHttpUtil.getDefault(activity).doUploadFileAsync(info.addHead("uid", Consts.getUID()).build());
- }
- }
|