OkHttpClient.java 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. package com.edufound.reader.util;
  2. import android.app.Activity;
  3. import android.content.Context;
  4. import android.os.Environment;
  5. import com.okhttplib.HttpInfo;
  6. import com.okhttplib.OkHttpUtil;
  7. import com.okhttplib.annotation.CacheType;
  8. import com.okhttplib.annotation.Encoding;
  9. import com.okhttplib.callback.BaseCallback;
  10. import com.okhttplib.cookie.PersistentCookieJar;
  11. import com.okhttplib.cookie.cache.SetCookieCache;
  12. import com.okhttplib.cookie.persistence.SharedPrefsCookiePersistor;
  13. import com.orhanobut.logger.Logger;
  14. import java.io.File;
  15. public class OkHttpClient {
  16. //初始化OKHTTP
  17. private static String downloadFileDir = Environment.getExternalStorageDirectory().getPath() + "/okHttp_download/";
  18. private static String cacheDir = Environment.getExternalStorageDirectory().getPath() + "/okHttp_cache";
  19. public static void initOkHttpUtil(Context context) {
  20. OkHttpUtil.init(context)
  21. .setConnectTimeout(15)//连接超时时间
  22. .setWriteTimeout(15)//写超时时间
  23. .setReadTimeout(15)//读超时时间
  24. .setMaxCacheSize(10 * 1024 * 1024)//缓存空间大小
  25. .setCacheType(CacheType.FORCE_NETWORK)//缓存类型
  26. .setHttpLogTAG("HttpLog")//设置请求日志标识
  27. .setIsGzip(false)//Gzip压缩,需要服务端支持
  28. .setShowHttpLog(true)//显示请求日志
  29. .setShowLifecycleLog(false)//显示Activity销毁日志
  30. .setRetryOnConnectionFailure(false)//失败后不自动重连
  31. .setCachedDir(new File(cacheDir))//设置缓存目录
  32. .setDownloadFileDir(downloadFileDir)//文件下载保存目录
  33. .setResponseEncoding(Encoding.UTF_8)//设置全局的服务器响应编码
  34. .setRequestEncoding(Encoding.UTF_8)//设置全局的请求参数编码
  35. // .setHttpsCertificate("12306.cer")//设置全局Https证书
  36. .addResultInterceptor(HttpInterceptor.ResultInterceptor)//请求结果拦截器
  37. .addExceptionInterceptor(HttpInterceptor.ExceptionInterceptor)//请求链路异常拦截器
  38. .setCookieJar(new PersistentCookieJar(new SetCookieCache(), new SharedPrefsCookiePersistor(context)))//持久化cookie
  39. .build();
  40. }
  41. public static void doGetAsync(Activity activity, HttpInfo.Builder info, BaseCallback callback) {
  42. Logger.e("postUid:" + Consts.getUID());
  43. OkHttpUtil.getDefault(activity).doGetAsync(info.addHead("uid", Consts.getUID()).build(), callback);
  44. }
  45. public static void doPostAsync(Activity activity, HttpInfo.Builder info, BaseCallback callback) {
  46. Logger.e("postUid:" + Consts.getUID());
  47. OkHttpUtil.getDefault(activity).doPostAsync(info.addHead("uid", Consts.getUID()).build(), callback);
  48. }
  49. public static void doPutAsync(Activity activity, HttpInfo.Builder info, BaseCallback callback) {
  50. Logger.e("postUid:" + Consts.getUID());
  51. OkHttpUtil.getDefault(activity).doPutAsync(info.addHead("uid", Consts.getUID()).build(), callback);
  52. }
  53. public static void doDeleteAsync(Activity activity, HttpInfo.Builder info, BaseCallback callback) {
  54. Logger.e("postUid:" + Consts.getUID());
  55. OkHttpUtil.getDefault(activity).doDeleteAsync(info.addHead("uid", Consts.getUID()).build(), callback);
  56. }
  57. }