public final class XHttp
extends java.lang.Object
描述:网络请求入口类
主要功能: 1.全局设置超时时间 2.支持请求错误重试相关参数,包括重试次数、重试延时时间 3.支持缓存支持6种缓存模式、时间、大小、缓存目录 4.支持支持GET、post、delete、put请求 5.支持支持自定义请求 6.支持文件上传、下载 7.支持全局公共请求头 8.支持全局公共参数 9.支持OkHttp相关参数,包括拦截器 10.支持Retrofit相关参数 11.支持Cookie管理| Modifier and Type | Field and Description |
|---|---|
static int |
DEFAULT_CACHE_NEVER_EXPIRE |
static int |
DEFAULT_RETRY_COUNT |
static int |
DEFAULT_RETRY_DELAY |
static int |
DEFAULT_RETRY_INCREASE_DELAY |
static int |
DEFAULT_TIMEOUT_MILLISECONDS |
| Modifier and Type | Method and Description |
|---|---|
XHttp |
addCallAdapterFactory(CallAdapter.Factory factory)
全局设置CallAdapter.Factory,默认RxJavaCallAdapterFactory.create()
|
XHttp |
addCommonHeaders(HttpHeaders commonHeaders)
添加全局公共请求参数
|
XHttp |
addCommonParams(HttpParams commonParams)
添加全局公共请求参数
|
XHttp |
addConverterFactory(Converter.Factory factory)
全局设置Converter.Factory,默认GsonConverterFactory.create()
|
XHttp |
addInterceptor(Interceptor interceptor)
添加全局拦截器
|
XHttp |
addNetworkInterceptor(Interceptor interceptor)
添加全局网络拦截器
|
static void |
clearCache()
清空缓存
|
static CustomRequest |
custom() |
static <T> T |
custom(java.lang.Class<T> service) |
XHttp |
debug(boolean isDebug)
设置网络请求的调试模式
|
XHttp |
debug(HttpLoggingInterceptor loggingInterceptor)
设置日志的打印模式
|
XHttp |
debug(java.lang.String tag)
设置网络请求的调试模式
|
static DeleteRequest |
delete(java.lang.String url) |
static DownloadRequest |
downLoad(java.lang.String url) |
static GetRequest |
get(java.lang.String url) |
static java.lang.String |
getBaseUrl()
获取全局BaseUrl
|
static java.io.File |
getCacheDirectory()
获取缓存的路径
|
static long |
getCacheMaxSize()
获取全局的缓存大小
|
static CacheMode |
getCacheMode()
获取全局的缓存模式
|
static long |
getCacheTime()
获取全局的缓存过期时间
|
static HttpHeaders |
getCommonHeaders()
获取全局公共请求头
|
static HttpParams |
getCommonParams()
获取全局公共请求参数
|
static android.content.Context |
getContext()
获取全局上下文
|
static CookieManager |
getCookieJar()
获取全局的cookie实例
|
static Cache |
getHttpCache()
获取OkHttp的缓存
|
static XHttp |
getInstance()
获取XHttp实例
|
static OkHttpClient |
getOkHttpClient() |
static OkHttpClient.Builder |
getOkHttpClientBuilder()
对外暴露 OkHttpClient,方便自定义
|
static Retrofit.Builder |
getRetrofitBuilder()
对外暴露 Retrofit,方便自定义
|
static int |
getRetryCount()
超时重试次数
|
static int |
getRetryDelay()
超时重试延迟时间
|
static int |
getRetryIncreaseDelay()
超时重试延迟叠加时间
|
static RxCache |
getRxCache() |
static RxCache.Builder |
getRxCacheBuilder()
对外暴露 RxCache,方便自定义
|
static java.lang.String |
getSubUrl()
获取全局subUrl
|
static void |
init(android.app.Application app)
必须在全局Application先调用,获取context上下文,否则缓存无法使用
|
static PostRequest |
post(java.lang.String url) |
static PutRequest |
put(java.lang.String url) |
static void |
removeCache(java.lang.String key)
移除缓存(key)
|
XHttp |
setBaseUrl(java.lang.String baseUrl)
全局设置baseUrl
|
XHttp |
setCacheDirectory(java.io.File directory)
全局设置缓存的路径,默认是应用包下面的缓存
|
XHttp |
setCacheDiskConverter(IDiskConverter converter)
全局设置缓存的转换器
|
XHttp |
setCacheMaxSize(long maxSize)
设置全局的缓存大小,默认50M
|
XHttp |
setCacheMode(CacheMode cacheMode)
设置全局的缓存模式
|
XHttp |
setCacheTime(long cacheTime)
设置全局的缓存过期时间
|
XHttp |
setCacheVersion(int cacheVersion)
全局设置缓存的版本,默认为1,缓存的版本号
|
XHttp |
setCallbackExecutor(java.util.concurrent.Executor executor)
全局设置Retrofit callbackExecutor
|
XHttp |
setCallFactory(okhttp3.Call.Factory factory)
全局设置Retrofit对象Factory
|
XHttp |
setCertificates(java.io.InputStream... certificates)
https的全局自签名证书
|
XHttp |
setCertificates(java.io.InputStream bksFile,
java.lang.String password,
java.io.InputStream... certificates)
https双向认证证书
|
XHttp |
setConnectTimeout(long connectTimeout)
全局设置连接超时时间
|
XHttp |
setCookieStore(CookieManager cookieManager)
全局cookie存取规则
|
XHttp |
setHostnameVerifier(javax.net.ssl.HostnameVerifier hostnameVerifier)
https的全局访问规则
|
XHttp |
setHttpCache(Cache cache)
全局设置OkHttp的缓存, 默认是3天
|
XHttp |
setIsDiskCache(boolean isDiskCache)
设置是否是磁盘缓存
|
XHttp |
setMemoryMaxSize(int memoryMaxSize)
设置内存缓存的最大数量
|
XHttp |
setOkclient(OkHttpClient client)
全局为Retrofit设置自定义的OkHttpClient
|
XHttp |
setOkconnectionPool(ConnectionPool connectionPool)
全局设置请求的连接池
|
XHttp |
setOkproxy(java.net.Proxy proxy)
全局设置代理
|
XHttp |
setReadTimeOut(long readTimeOut)
全局设置读取超时时间
|
XHttp |
setRetryCount(int retryCount)
全局设置超时重试次数
|
XHttp |
setRetryDelay(int retryDelay)
全局设置超时重试延迟时间
|
XHttp |
setRetryIncreaseDelay(int retryIncreaseDelay)
全局设置超时重试延迟叠加时间
|
XHttp |
setSubUrl(java.lang.String subUrl)
全局设置subUrl
|
XHttp |
setTimeout(long timeout)
全局设置超时时间
|
XHttp |
setWriteTimeOut(long writeTimeout)
全局设置写入超时时间
|
public static final int DEFAULT_TIMEOUT_MILLISECONDS
public static final int DEFAULT_RETRY_COUNT
public static final int DEFAULT_RETRY_INCREASE_DELAY
public static final int DEFAULT_RETRY_DELAY
public static final int DEFAULT_CACHE_NEVER_EXPIRE
public static XHttp getInstance()
public static void init(android.app.Application app)
public static android.content.Context getContext()
public static OkHttpClient getOkHttpClient()
public static RxCache getRxCache()
public static OkHttpClient.Builder getOkHttpClientBuilder()
public static Retrofit.Builder getRetrofitBuilder()
public static RxCache.Builder getRxCacheBuilder()
public XHttp debug(HttpLoggingInterceptor loggingInterceptor)
loggingInterceptor - 日志拦截器public XHttp debug(boolean isDebug)
public XHttp debug(java.lang.String tag)
public XHttp setBaseUrl(java.lang.String baseUrl)
public XHttp setSubUrl(java.lang.String subUrl)
public static java.lang.String getBaseUrl()
public static java.lang.String getSubUrl()
public XHttp setReadTimeOut(long readTimeOut)
public XHttp setWriteTimeOut(long writeTimeout)
public XHttp setConnectTimeout(long connectTimeout)
public XHttp setTimeout(long timeout)
public XHttp setRetryCount(int retryCount)
public static int getRetryCount()
public XHttp setRetryDelay(int retryDelay)
public static int getRetryDelay()
public XHttp setRetryIncreaseDelay(int retryIncreaseDelay)
public static int getRetryIncreaseDelay()
public static CacheMode getCacheMode()
public XHttp setIsDiskCache(boolean isDiskCache)
isDiskCache - public XHttp setMemoryMaxSize(int memoryMaxSize)
memoryMaxSize - public XHttp setCacheTime(long cacheTime)
public static long getCacheTime()
public XHttp setCacheMaxSize(long maxSize)
public static long getCacheMaxSize()
public XHttp setCacheVersion(int cacheVersion)
public XHttp setCacheDirectory(java.io.File directory)
public static java.io.File getCacheDirectory()
public XHttp setCacheDiskConverter(IDiskConverter converter)
public XHttp setHttpCache(Cache cache)
public static Cache getHttpCache()
public XHttp addCommonParams(HttpParams commonParams)
public XHttp addCommonHeaders(HttpHeaders commonHeaders)
public static HttpParams getCommonParams()
public static HttpHeaders getCommonHeaders()
public XHttp addInterceptor(Interceptor interceptor)
public XHttp addNetworkInterceptor(Interceptor interceptor)
public XHttp setOkproxy(java.net.Proxy proxy)
public XHttp setOkconnectionPool(ConnectionPool connectionPool)
public XHttp setOkclient(OkHttpClient client)
public XHttp addConverterFactory(Converter.Factory factory)
public XHttp addCallAdapterFactory(CallAdapter.Factory factory)
public XHttp setCallbackExecutor(java.util.concurrent.Executor executor)
public XHttp setCallFactory(okhttp3.Call.Factory factory)
public XHttp setHostnameVerifier(javax.net.ssl.HostnameVerifier hostnameVerifier)
public XHttp setCertificates(java.io.InputStream... certificates)
public XHttp setCertificates(java.io.InputStream bksFile, java.lang.String password, java.io.InputStream... certificates)
public XHttp setCookieStore(CookieManager cookieManager)
public static CookieManager getCookieJar()
public static GetRequest get(java.lang.String url)
public static PostRequest post(java.lang.String url)
public static DeleteRequest delete(java.lang.String url)
public static PutRequest put(java.lang.String url)
public static CustomRequest custom()
public static <T> T custom(java.lang.Class<T> service)
public static DownloadRequest downLoad(java.lang.String url)
public static void clearCache()
public static void removeCache(java.lang.String key)