Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
门心叼龙
MVPArms
提交
0871922e
M
MVPArms
项目概览
门心叼龙
/
MVPArms
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
M
MVPArms
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
0871922e
编写于
11月 21, 2018
作者:
J
JessYan
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Improve GlobalConfiguration's comments
上级
8865f972
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
20 addition
and
18 deletion
+20
-18
demo/src/main/java/me/jessyan/mvparms/demo/app/GlobalConfiguration.java
...java/me/jessyan/mvparms/demo/app/GlobalConfiguration.java
+20
-18
未找到文件。
demo/src/main/java/me/jessyan/mvparms/demo/app/GlobalConfiguration.java
浏览文件 @
0871922e
...
...
@@ -34,7 +34,7 @@ import me.jessyan.retrofiturlmanager.RetrofitUrlManager;
* ================================================
* App 的全局配置信息在此配置, 需要将此实现类声明到 AndroidManifest 中
* ConfigModule 的实现类可以有无数多个, 在 Application 中只是注册回调, 并不会影响性能 (多个 ConfigModule 在多 Module 环境下尤为受用)
*
不过要注意
ConfigModule 接口的实现类对象是通过反射生成的, 这里会有些性能损耗
* ConfigModule 接口的实现类对象是通过反射生成的, 这里会有些性能损耗
*
* @see com.jess.arms.base.delegate.AppDelegate
* @see com.jess.arms.integration.ManifestParser
...
...
@@ -52,7 +52,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
);
}
...
...
@@ -64,7 +64,7 @@ public final class GlobalConfiguration implements ConfigModule {
//想支持多 BaseUrl, 以及运行时动态切换任意一个 BaseUrl, 请使用 https://github.com/JessYanCoding/RetrofitUrlManager
//如果 BaseUrl 在 App 启动时不能确定, 需要请求服务器接口动态获取, 请使用以下代码
//以下方式是 Arms 框架自带的切换 BaseUrl 的方式, 在整个 App 生命周期内只能切换一次, 若需要无限次的切换 BaseUrl, 以及各种复杂的应用场景还是需要使用 RetrofitUrlManager 框架
//以下代码只是配置, 还要使用 Okhttp (AppComponent中提供) 请求服务器获取到正确的 BaseUrl 后赋值给 GlobalConfiguration.sDomain
//以下代码只是配置, 还要使用 Okhttp (AppComponent
中提供) 请求服务器获取到正确的 BaseUrl 后赋值给 GlobalConfiguration.sDomain
//切记整个过程必须在第一次调用 Retrofit 接口之前完成, 如果已经调用过 Retrofit 接口, 此种方式将不能切换 BaseUrl
// .baseurl(new BaseUrl() {
// @Override
...
...
@@ -114,33 +114,35 @@ public final class GlobalConfiguration implements ConfigModule {
// Timber.i("printFileResponse:" + responseUrl);
// }
// })
// 可以自定义一个单例的线程池供全局使用。
//可以自定义一个单例的线程池供全局使用
// .executorService(Executors.newCachedThreadPool())
// 这里提供一个全局处理 Http 请求和响应结果的处理类,可以比客户端提前一步拿到服务器返回的结果,可以做一些操作,比如token超时,重新获取
//这里提供一个全局处理 Http 请求和响应结果的处理类, 可以比客户端提前一步拿到服务器返回的结果, 可以做一些操作, 比如 Token 超时后, 重新获取 Token
.
globalHttpHandler
(
new
GlobalHttpHandlerImpl
(
context
))
// 用来处理
rxjava 中发生的所有错误,rxj
ava 中发生的每个错误都会回调此接口
//
rxjava必要要使用ErrorHandleSubscriber(默认实现Subscriber的onError方法),
此监听才生效
// 用来处理
RxJava 中发生的所有错误, RxJ
ava 中发生的每个错误都会回调此接口
//
RxJava 必须要使用 ErrorHandleSubscriber (默认实现 Subscriber 的 onError 方法),
此监听才生效
.
responseErrorListener
(
new
ResponseErrorListenerImpl
())
.
gsonConfiguration
((
context1
,
gsonBuilder
)
->
{
//这里可以自己自定义配置
Gson
的参数
.
gsonConfiguration
((
context1
,
gsonBuilder
)
->
{
//这里可以自己自定义配置
Gson
的参数
gsonBuilder
.
serializeNulls
()
//支持序列化
null
的参数
.
enableComplexMapKeySerialization
();
//支持将序列化
key为object的map,默认只能序列化key为string的m
ap
.
serializeNulls
()
//支持序列化
值为 null
的参数
.
enableComplexMapKeySerialization
();
//支持将序列化
key 为 Object 的 Map, 默认只能序列化 key 为 String 的 M
ap
})
.
retrofitConfiguration
((
context1
,
retrofitBuilder
)
->
{
//这里可以自己自定义配置
Retrofit
的参数, 甚至您可以替换框架配置好的 OkHttpClient 对象 (但是不建议这样做, 这样做您将损失框架提供的很多功能)
// retrofitBuilder.addConverterFactory(FastJsonConverterFactory.create());//比如使用
fastjson替代g
son
.
retrofitConfiguration
((
context1
,
retrofitBuilder
)
->
{
//这里可以自己自定义配置
Retrofit
的参数, 甚至您可以替换框架配置好的 OkHttpClient 对象 (但是不建议这样做, 这样做您将损失框架提供的很多功能)
// retrofitBuilder.addConverterFactory(FastJsonConverterFactory.create());//比如使用
FastJson 替代 G
son
})
.
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 的缓存文件夹或者解析方式, 如改成 fastj
son, 请 return rxCacheBuilder.persistence(cacheDirectory, new FastJsonSpeaker());
//
否则请 return null;
//
想自定义 RxCache 的缓存文件夹或者解析方式, 如改成 FastJ
son, 请 return rxCacheBuilder.persistence(cacheDirectory, new FastJsonSpeaker());
//否则请 return null;
return
null
;
});
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录