如何避免Android模块之间的循环依赖?

时间:2019-04-13 22:00:08

标签: android dependency-injection multi-module

我目前正在开发多模块应用程序。主模块(应用程序)处理身份验证屏幕,数据源模块处理所有网络/数据库查询(目前我使用的是一个模块,但考虑将其拆分),随后是一些可以使用的功能模块用户权限。

我登录后会检索一个令牌,我打算将其保留在SharedPreferences中,但我想将其放入数据源模块中用于Retrofit客户端的Interceptor中,以避免将其作为每次调用的参数传递。

我当时正在考虑将dagger模块提供给我的数据源图中的应用程序上下文,但这会在app和数据源之间增加循环依赖。

我正在使用我插入到应用程序模块内部的单例对象,以便从数据源中检索数据。

由于除了SharedPreferences访问之外,我还需要创建数据库,因此我需要在数据源模块中检索上下文。为了避免循环依赖,最好的方法是什么?

0 个答案:

没有答案