首页 > 解决方案 > 如何避免Android模块之间的循环依赖?

问题描述

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

我在登录后检索了一个令牌,我计划将其保留在 SharedPreferences 中,但我想将它放在我的数据源模块中的 Retrofit 客户端的拦截器中,以避免将它作为每次调用的参数传递。

我正在考虑在我的数据源图中包含提供应用程序上下文的 dagger 模块,但这会在应用程序和数据源之间添加循环依赖关系。

我正在使用我在 app 模块中注入的单例对象,以便从数据源中检索数据。

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

标签: androiddependency-injectionmulti-module

解决方案


推荐阅读