通常在 Aplication,或者基类中,只须要调用一次便可,能够配置调试开关,全局的超时时间,公共的请求头和请求参数等信息
初始化须要一个Context,最好在Application#onCreate()中初始化,记得在manifest.xml中注册Application。android
public class MyApplication extends Application { @Override public void onCreate() { super.onCreate(); } }
... <application android:name=".MyApplication" ... />
若是使用默认始化后,一切采用默认设置。若是你须要配置全局超时时间、缓存、Cookie、底层为OkHttp的话,请看高级初始化。git
public class MyApplication extends Application { @Override public void onCreate() { super.onCreate(); EasyHttp.init(this);//默认初始化 } }
能够进行超时配置、网络缓存配置、okhttp相关参数配置、retrofit相关参数配置、cookie配置等,这些参数能够选择性的根据业务须要配置。github
public class MyApplication extends Application { @Override public void onCreate() { super.onCreate(); EasyHttp.init(this);//默认初始化,必须调用 //全局设置请求头 HttpHeaders headers = new HttpHeaders(); headers.put("User-Agent", SystemInfoUtils.getUserAgent(this, AppConstant.APPID)); //全局设置请求参数 HttpParams params = new HttpParams(); params.put("appId", AppConstant.APPID); //如下设置的全部参数是全局参数,一样的参数能够在请求的时候再设置一遍,那么对于该请求来说,请求中的参数会覆盖全局参数 EasyHttp.getInstance() //能够全局统一设置全局URL .setBaseUrl(Url)//设置全局URL // 打开该调试开关并设置TAG,不须要就不要加入该行 // 最后的true表示是否打印okgo的内部异常,通常打开方便调试错误 .debug("EasyHttp", true) //若是使用默认的60秒,如下三行也不须要设置 .setReadTimeOut(60 * 1000) .setWriteTimeOut(60 * 100) .setConnectTimeout(60 * 100) //能够全局统一设置超时重连次数,默认为3次,那么最差的状况会请求4次(一次原始请求,三次重连请求), //不须要能够设置为0 .setRetryCount(3)//网络很差自动重试3次 //能够全局统一设置超时重试间隔时间,默认为500ms,不须要能够设置为0 .setRetryDelay(500)//每次延时500ms重试 //能够全局统一设置超时重试间隔叠加时间,默认为0ms不叠加 .setRetryIncreaseDelay(500)//每次延时叠加500ms //能够全局统一设置缓存模式,默认是不使用缓存,能够不传,具体请看CacheMode .setCacheMode(CacheMode.NO_CACHE) //能够全局统一设置缓存时间,默认永不过时 .setCacheTime(-1)//-1表示永久缓存,单位:秒 ,Okhttp和自定义RxCache缓存都起做用 //全局设置自定义缓存保存转换器,主要针对自定义RxCache缓存 .setCacheDiskConverter(new SerializableDiskConverter())//默认缓存使用序列化转化 //全局设置自定义缓存大小,默认50M .setCacheMaxSize(100 * 1024 * 1024)//设置缓存大小为100M //设置缓存版本,若是缓存有变化,修改版本后,缓存就不会被加载。特别是用于版本重大升级时缓存不能使用的状况 .setCacheVersion(1)//缓存版本为1 //.setHttpCache(new Cache())//设置Okhttp缓存,在缓存模式为DEFAULT才起做用 //能够设置https的证书,如下几种方案根据须要本身设置 .setCertificates() //方法一:信任全部证书,不安全有风险 //.setCertificates(new SafeTrustManager()) //方法二:自定义信任规则,校验服务端证书 //配置https的域名匹配规则,不须要就不要加入,使用不当会致使https握手失败 //.setHostnameVerifier(new SafeHostnameVerifier()) //.addConverterFactory(GsonConverterFactory.create(gson))//本框架没有采用Retrofit的Gson转化,因此不用配置 .addCallAdapterFactory(RxJavaCallAdapterFactory.create()) .addCommonHeaders(headers)//设置全局公共头 .addCommonParams(params)//设置全局公共参数 //.addNetworkInterceptor(new NoCacheInterceptor())//设置网络拦截器 //.setCallFactory()//局设置Retrofit对象Factory //.setCookieStore()//设置cookie //.setOkproxy()//设置全局代理 //.setOkconnectionPool()//设置请求链接池 //.setCallbackExecutor()//全局设置Retrofit callbackExecutor //能够添加全局拦截器,不须要就不要加入,错误写法直接致使任何回调不执行 //.addInterceptor(new GzipRequestInterceptor())//开启post数据进行gzip后发送给服务器 .addInterceptor(new CustomSignInterceptor());//添加参数签名拦截器 } }