JessYanCoding / MVPArms

⚔️ A common architecture for Android applications developing based on MVP, integrates many open source projects, to make your developing quicker and easier (一个整合了大量主流开源项目高度可配置化的 Android MVP 快速集成框架).
Apache License 2.0
10.28k stars 2.39k forks source link

1,完成委托创建服务的代码调整 #333

Closed fine1021 closed 5 years ago

fine1021 commented 5 years ago

主要修改为在IRepositoryManager接口中增加一套委托机制,说明如下 1,如果不使用这套委托机制创建RetrofitService,不会影响框架原有的功能 2,开放RetrofitService的委托创建,方便开发者参考二次委托代理的方法,在某些请求接口执行前自行处理一些事情,增加框架的灵活度 3,可以遇到的应用场景,即在每次调用网络请求接口时,使用RetrofitUrlManager设置baseUrl,防止程序中的一些崩溃,导致RetrofitUrlManager中存储的domain信息丢失

JessYanCoding commented 5 years ago

好的,非常感谢,这里的扩展性确实提升不少,感谢你对开源的贡献

JessYanCoding commented 5 years ago

还有一点可以优化的,这个代理如果可以通过 GlobalConfigModule 使用 Dagger 注入到 RepositoryManager,这样也就可以让开发者可以在 GlobalConfiguration 中进行统一的管理

fine1021 commented 5 years ago

还有一点可以优化的,这个代理如果可以通过 GlobalConfigModule 使用 Dagger 注入到 RepositoryManager,这样也就可以让开发者可以在 GlobalConfiguration 中进行统一的管理

个人的建议此处暂时不需要Dagger Inject,配置的位置可以规范到 GlobalConfigModule -->injectAppLifecycle函数中,添加一个AppLifecycles的接口实现类,在这个实现类里面onCreate函数里全局配置 因为我看了你的源码,是在BaseApplication的onCreate函数里进行委托回调App生命周期接口的,同时也是在此处初始化AppComponent的全局接口,而配置Retrofit代理这个正好是需要 从AppComponent获取repositoryManager(),所以我觉得在此处配置时机正好