架构日记(一) 模块化多Moudle下的Application引用方式

这篇博客探讨了在模块化多Module项目中如何处理Application的引用问题。作者在尝试在base模块创建RxJava+Retrofit+OkHttp框架时遇到了需要Application的场景。为了解决这个问题,提出了创建一个BaseApplication的解决方案,将其放在公共依赖包base模块中,让所有Module继承。在app工程的Gradle配置和应用中,详细说明了如何实现这一策略。
摘要由CSDN通过智能技术生成

传统的项目结构中Application毫无疑问,肯定是放在app目录下的。

说一说我遇到问题的场景:

 本人正在base moudle中新建RxJava+Retrofit+OkHttp的请求框架式,在新建拦截器Interceptor的时候有一个地方需要用到Application。这就有点尴尬了呀。

其实我们完全可以换一个思路嘛,Lib模块不就是要一个Application吗,给他~

Moudle  base作为一个基础库或者说是公共依赖包,所有的Moudle都是需要依赖它的,那么就来一个BaseApplication吧

public class BaseApplication extends Application {

    /**
     * 系统上下文
     */
    private static Context mAppContext;

    @Override
    public void onCreate() {
        super.onCreate();
        mAppContext = getApplicationContext();

    }

    /**
     * 获取系统上下文:用于ToastUtil类
     */
    public static Context getAppContext() {
        return mAppContext;
    }
}

接下来我们看看app工程,首先是app-gradle

implementation project(':base')

接下来就是继承了

public class MyApplication extends BaseApplication {

    private RefWatcher refWatcher;
    @Override
    publ
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值