android - 如何避免Android模块之间的循环依赖?
问题描述
我目前正在开发一个多模块应用程序。主模块(app)处理身份验证屏幕,数据源模块处理所有网络/数据库查询(现在我使用的是单个模块,但我正在考虑拆分它),然后是一些可以使用的功能模块关于用户权限。
我在登录后检索了一个令牌,我计划将其保留在 SharedPreferences 中,但我想将它放在我的数据源模块中的 Retrofit 客户端的拦截器中,以避免将它作为每次调用的参数传递。
我正在考虑在我的数据源图中包含提供应用程序上下文的 dagger 模块,但这会在应用程序和数据源之间添加循环依赖关系。
我正在使用我在 app 模块中注入的单例对象,以便从数据源中检索数据。
因为除了 SharedPreferences 访问之外,我还需要创建数据库,所以我需要在我的数据源模块中检索上下文。为了避免循环依赖,最好的方法是什么?
解决方案
推荐阅读
- swift - 将“工作”json 数据复制到新的 struc 数组时返回 Nil 数据
- amazon-redshift - 在 Redshift 中的 WITH 变量中使用 LPAD 函数错误
- php - 按大小排序scandir
- javascript - 将每个最后一个索引值与 JS 中的先前值相加
- firebase - 哪个 docker 映像包含适用于 firebase 和 gcloud 的 CLI?
- firebase - 带有文本的离子输入进行编辑
- javascript - 将 readFileSync 转换为 createwritestream/ 文件太大
- r - 如何在 RMarkdown 中使用 Kable 解决此错误?
- python - Microbit植物水分仪7号线不断出现类型错误
- javascript - Dotnet 核心 webapi 返回 401 Unauthorized with JWT authentication