38
38
* ================================================
39
39
* App 的全局配置信息在此配置,需要将此实现类声明到 AndroidManifest 中
40
40
* ConfigModule 的实现类可以有无数多个, 在 Application 中只是注册回调, 并不会影响性能 (多个 ConfigModule 在多 Module 环境下尤为受用)
41
- * 不过要注意 ConfigModule 接口的实现类对象是通过反射生成的, 这里会有些性能损耗
41
+ * ConfigModule 接口的实现类对象是通过反射生成的, 这里会有些性能损耗
42
42
*
43
43
* @see AppDelegate
44
44
* @see ManifestParser
@@ -54,7 +54,7 @@ public final class GlobalConfiguration implements ConfigModule {
54
54
55
55
@ Override
56
56
public void applyOptions (Context context , GlobalConfigModule .Builder builder ) {
57
- if (!BuildConfig .LOG_DEBUG ) { //Release 时,让框架不再打印 Http 请求和响应的信息
57
+ if (!BuildConfig .LOG_DEBUG ) { //Release 时, 让框架不再打印 Http 请求和响应的信息
58
58
builder .printHttpLogLevel (RequestInterceptor .Level .NONE );
59
59
}
60
60
@@ -66,7 +66,7 @@ public void applyOptions(Context context, GlobalConfigModule.Builder builder) {
66
66
//想支持多 BaseUrl, 以及运行时动态切换任意一个 BaseUrl, 请使用 https://github.com/JessYanCoding/RetrofitUrlManager
67
67
//如果 BaseUrl 在 App 启动时不能确定, 需要请求服务器接口动态获取, 请使用以下代码
68
68
//以下方式是 Art 框架自带的切换 BaseUrl 的方式, 在整个 App 生命周期内只能切换一次, 若需要无限次的切换 BaseUrl, 以及各种复杂的应用场景还是需要使用 RetrofitUrlManager 框架
69
- //以下代码只是配置, 还要使用 Okhttp (AppComponent中提供 ) 请求服务器获取到正确的 BaseUrl 后赋值给 GlobalConfiguration.sDomain
69
+ //以下代码只是配置, 还要使用 Okhttp (AppComponent 中提供 ) 请求服务器获取到正确的 BaseUrl 后赋值给 GlobalConfiguration.sDomain
70
70
//切记整个过程必须在第一次调用 Retrofit 接口之前完成, 如果已经调用过 Retrofit 接口, 此种方式将不能切换 BaseUrl
71
71
// .baseurl(new BaseUrl() {
72
72
// @Override
@@ -120,31 +120,31 @@ public void applyOptions(Context context, GlobalConfigModule.Builder builder) {
120
120
//可以自定义一个单例的线程池供全局使用
121
121
// .executorService(Executors.newCachedThreadPool())
122
122
123
- // 这里提供一个全局处理 Http 请求和响应结果的处理类,可以比客户端提前一步拿到服务器返回的结果,可以做一些操作,比如token超时, 重新获取
123
+ //这里提供一个全局处理 Http 请求和响应结果的处理类, 可以比客户端提前一步拿到服务器返回的结果, 可以做一些操作, 比如 Token 超时后, 重新获取 Token
124
124
.globalHttpHandler (new GlobalHttpHandlerImpl (context ))
125
- // 用来处理 rxjava 中发生的所有错误,rxjava 中发生的每个错误都会回调此接口
126
- // rxjava必要要使用ErrorHandleSubscriber(默认实现Subscriber的onError方法), 此监听才生效
125
+ //用来处理 RxJava 中发生的所有错误, RxJava 中发生的每个错误都会回调此接口
126
+ //RxJava 必须要使用 ErrorHandleSubscriber (默认实现 Subscriber 的 onError 方法), 此监听才生效
127
127
.responseErrorListener (new ResponseErrorListenerImpl ())
128
- .gsonConfiguration ((context1 , gsonBuilder ) -> {//这里可以自己自定义配置Gson的参数
128
+ .gsonConfiguration ((context1 , gsonBuilder ) -> {//这里可以自己自定义配置 Gson 的参数
129
129
gsonBuilder
130
- .serializeNulls ()//支持序列化null的参数
131
- .enableComplexMapKeySerialization ();//支持将序列化key为object的map,默认只能序列化key为string的map
130
+ .serializeNulls ()//支持序列化值为 null 的参数
131
+ .enableComplexMapKeySerialization ();//支持将序列化 key 为 Object 的 Map, 默认只能序列化 key 为 String 的 Map
132
132
})
133
133
.retrofitConfiguration ((context1 , retrofitBuilder ) -> {//这里可以自己自定义配置 Retrofit 的参数, 甚至您可以替换框架配置好的 OkHttpClient 对象 (但是不建议这样做, 这样做您将损失框架提供的很多功能)
134
- // retrofitBuilder.addConverterFactory(FastJsonConverterFactory.create());//比如使用fastjson替代gson
134
+ // retrofitBuilder.addConverterFactory(FastJsonConverterFactory.create());//比如使用 FastJson 替代 Gson
135
135
})
136
- .okhttpConfiguration ((context1 , okhttpBuilder ) -> {//这里可以自己自定义配置Okhttp的参数
137
- // okhttpBuilder.sslSocketFactory(); //支持 Https,详情请百度
136
+ .okhttpConfiguration ((context1 , okhttpBuilder ) -> {//这里可以自己自定义配置 Okhttp 的参数
137
+ // okhttpBuilder.sslSocketFactory(); //支持 Https, 详情请百度
138
138
okhttpBuilder .writeTimeout (10 , TimeUnit .SECONDS );
139
- //使用一行代码监听 Retrofit/Okhttp 上传下载进度监听,以及 Glide 加载进度监听 详细使用方法查看 https://github.com/JessYanCoding/ProgressManager
139
+ //使用一行代码监听 Retrofit/Okhttp 上传下载进度监听,以及 Glide 加载进度监听, 详细使用方法请查看 https://github.com/JessYanCoding/ProgressManager
140
140
ProgressManager .getInstance ().with (okhttpBuilder );
141
- //让 Retrofit 同时支持多个 BaseUrl 以及动态改变 BaseUrl. 详细使用请方法查看 https://github.com/JessYanCoding/RetrofitUrlManager
141
+ //让 Retrofit 同时支持多个 BaseUrl 以及动态改变 BaseUrl, 详细使用方法请查看 https://github.com/JessYanCoding/RetrofitUrlManager
142
142
RetrofitUrlManager .getInstance ().with (okhttpBuilder );
143
143
})
144
144
.rxCacheConfiguration ((context1 , rxCacheBuilder ) -> {//这里可以自己自定义配置 RxCache 的参数
145
145
rxCacheBuilder .useExpiredDataIfLoaderNotAvailable (true );
146
- // 想自定义 RxCache 的缓存文件夹或者解析方式, 如改成 fastjson , 请 return rxCacheBuilder.persistence(cacheDirectory, new FastJsonSpeaker());
147
- // 否则请 return null;
146
+ //想自定义 RxCache 的缓存文件夹或者解析方式, 如改成 FastJson , 请 return rxCacheBuilder.persistence(cacheDirectory, new FastJsonSpeaker());
147
+ //否则请 return null;
148
148
return null ;
149
149
});
150
150
}
0 commit comments