From eb2f912de1fbc1ef46a645ecc43ff802fc8a022a Mon Sep 17 00:00:00 2001 From: JessYan Date: Fri, 7 Dec 2018 17:06:19 +0800 Subject: [PATCH] Improve GlobalConfiguration's comments --- .../mvpart/demo/app/GlobalConfiguration.java | 32 +++++++++---------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/demo/src/main/java/me/jessyan/mvpart/demo/app/GlobalConfiguration.java b/demo/src/main/java/me/jessyan/mvpart/demo/app/GlobalConfiguration.java index a0085f5..6384c24 100644 --- a/demo/src/main/java/me/jessyan/mvpart/demo/app/GlobalConfiguration.java +++ b/demo/src/main/java/me/jessyan/mvpart/demo/app/GlobalConfiguration.java @@ -38,7 +38,7 @@ * ================================================ * App 的全局配置信息在此配置,需要将此实现类声明到 AndroidManifest 中 * ConfigModule 的实现类可以有无数多个, 在 Application 中只是注册回调, 并不会影响性能 (多个 ConfigModule 在多 Module 环境下尤为受用) - * 不过要注意 ConfigModule 接口的实现类对象是通过反射生成的, 这里会有些性能损耗 + * ConfigModule 接口的实现类对象是通过反射生成的, 这里会有些性能损耗 * * @see AppDelegate * @see ManifestParser @@ -54,7 +54,7 @@ public final class GlobalConfiguration implements ConfigModule { @Override public void applyOptions(Context context, GlobalConfigModule.Builder builder) { - if (!BuildConfig.LOG_DEBUG) { //Release 时,让框架不再打印 Http 请求和响应的信息 + if (!BuildConfig.LOG_DEBUG) { //Release 时, 让框架不再打印 Http 请求和响应的信息 builder.printHttpLogLevel(RequestInterceptor.Level.NONE); } @@ -66,7 +66,7 @@ public void applyOptions(Context context, GlobalConfigModule.Builder builder) { //想支持多 BaseUrl, 以及运行时动态切换任意一个 BaseUrl, 请使用 https://github.com/JessYanCoding/RetrofitUrlManager //如果 BaseUrl 在 App 启动时不能确定, 需要请求服务器接口动态获取, 请使用以下代码 //以下方式是 Art 框架自带的切换 BaseUrl 的方式, 在整个 App 生命周期内只能切换一次, 若需要无限次的切换 BaseUrl, 以及各种复杂的应用场景还是需要使用 RetrofitUrlManager 框架 - //以下代码只是配置, 还要使用 Okhttp (AppComponent中提供) 请求服务器获取到正确的 BaseUrl 后赋值给 GlobalConfiguration.sDomain + //以下代码只是配置, 还要使用 Okhttp (AppComponent 中提供) 请求服务器获取到正确的 BaseUrl 后赋值给 GlobalConfiguration.sDomain //切记整个过程必须在第一次调用 Retrofit 接口之前完成, 如果已经调用过 Retrofit 接口, 此种方式将不能切换 BaseUrl // .baseurl(new BaseUrl() { // @Override @@ -120,31 +120,31 @@ public void applyOptions(Context context, GlobalConfigModule.Builder builder) { //可以自定义一个单例的线程池供全局使用 // .executorService(Executors.newCachedThreadPool()) - // 这里提供一个全局处理 Http 请求和响应结果的处理类,可以比客户端提前一步拿到服务器返回的结果,可以做一些操作,比如token超时,重新获取 + //这里提供一个全局处理 Http 请求和响应结果的处理类, 可以比客户端提前一步拿到服务器返回的结果, 可以做一些操作, 比如 Token 超时后, 重新获取 Token .globalHttpHandler(new GlobalHttpHandlerImpl(context)) - // 用来处理 rxjava 中发生的所有错误,rxjava 中发生的每个错误都会回调此接口 - // rxjava必要要使用ErrorHandleSubscriber(默认实现Subscriber的onError方法),此监听才生效 + //用来处理 RxJava 中发生的所有错误, RxJava 中发生的每个错误都会回调此接口 + //RxJava 必须要使用 ErrorHandleSubscriber (默认实现 Subscriber 的 onError 方法), 此监听才生效 .responseErrorListener(new ResponseErrorListenerImpl()) - .gsonConfiguration((context1, gsonBuilder) -> {//这里可以自己自定义配置Gson的参数 + .gsonConfiguration((context1, gsonBuilder) -> {//这里可以自己自定义配置 Gson 的参数 gsonBuilder - .serializeNulls()//支持序列化null的参数 - .enableComplexMapKeySerialization();//支持将序列化key为object的map,默认只能序列化key为string的map + .serializeNulls()//支持序列化值为 null 的参数 + .enableComplexMapKeySerialization();//支持将序列化 key 为 Object 的 Map, 默认只能序列化 key 为 String 的 Map }) .retrofitConfiguration((context1, retrofitBuilder) -> {//这里可以自己自定义配置 Retrofit 的参数, 甚至您可以替换框架配置好的 OkHttpClient 对象 (但是不建议这样做, 这样做您将损失框架提供的很多功能) -// retrofitBuilder.addConverterFactory(FastJsonConverterFactory.create());//比如使用fastjson替代gson +// retrofitBuilder.addConverterFactory(FastJsonConverterFactory.create());//比如使用 FastJson 替代 Gson }) - .okhttpConfiguration((context1, okhttpBuilder) -> {//这里可以自己自定义配置Okhttp的参数 -// okhttpBuilder.sslSocketFactory(); //支持 Https,详情请百度 + .okhttpConfiguration((context1, okhttpBuilder) -> {//这里可以自己自定义配置 Okhttp 的参数 +// okhttpBuilder.sslSocketFactory(); //支持 Https, 详情请百度 okhttpBuilder.writeTimeout(10, TimeUnit.SECONDS); - //使用一行代码监听 Retrofit/Okhttp 上传下载进度监听,以及 Glide 加载进度监听 详细使用方法查看 https://github.com/JessYanCoding/ProgressManager + //使用一行代码监听 Retrofit/Okhttp 上传下载进度监听,以及 Glide 加载进度监听, 详细使用方法请查看 https://github.com/JessYanCoding/ProgressManager ProgressManager.getInstance().with(okhttpBuilder); - //让 Retrofit 同时支持多个 BaseUrl 以及动态改变 BaseUrl. 详细使用请方法查看 https://github.com/JessYanCoding/RetrofitUrlManager + //让 Retrofit 同时支持多个 BaseUrl 以及动态改变 BaseUrl, 详细使用方法请查看 https://github.com/JessYanCoding/RetrofitUrlManager RetrofitUrlManager.getInstance().with(okhttpBuilder); }) .rxCacheConfiguration((context1, rxCacheBuilder) -> {//这里可以自己自定义配置 RxCache 的参数 rxCacheBuilder.useExpiredDataIfLoaderNotAvailable(true); - // 想自定义 RxCache 的缓存文件夹或者解析方式, 如改成 fastjson, 请 return rxCacheBuilder.persistence(cacheDirectory, new FastJsonSpeaker()); - // 否则请 return null; + //想自定义 RxCache 的缓存文件夹或者解析方式, 如改成 FastJson, 请 return rxCacheBuilder.persistence(cacheDirectory, new FastJsonSpeaker()); + //否则请 return null; return null; }); }