R 算作 android 依赖项吗?

Does R count as an android dependency?

我想使用 Clean Architecture 构建一个应用程序,我想在演示者中存储图像的可绘制 ID:

var heart = R.drawable.heart_red

我现在的问题是我可以在演示者中使用 R 还是算作 android 依赖项?

在 Presenter 中使用 R 是安全的。

R 包含一些整数,它没有任何上下文引用,所以将它存储在演示者中是安全的。

但是像 imgeView.setDrawable(heart) 这样的操作应该在 activity 或片段中执行,因为 imageView 和任何其他视图都有对上下文的引用。

我不是 android 专家,但据我所知 google R 是由 android 定义的 class,正确吗?

在 "Clean Architecture" 中,Bob 大叔写道,依赖规则是关于代码依赖的。因此,当您在演示者中使用 class R 时,您基本上会创建从演示者到位于框架层中的 R 的依赖关系。

根据我的理解,这违反了依赖规则。

(但我不是 100% 确定 - 我在这里有一个类似的问题: