R算作Android依赖吗?

时间:2018-03-04 07:23:51

标签: android kotlin clean-architecture

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

var heart = R.drawable.heart_red

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

2 个答案:

答案 0 :(得分:2)

在演示者中使用R是安全的。

R包含许多整数,它没有对上下文的任何引用,因此将它存储在演示者中是安全的。

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

答案 1 :(得分:1)

我不是Android专家,但据我所知,google R是一个由android定义的类,对吗?

In" Clean Architecture" Bob叔叔写道,依赖规则是关于代码依赖性的。所以当你在你的演示者中使用类R时,你基本上会创建一个从演示者到R的依赖,它存在于框架层中。

据我所知,这违反了依赖规则。

(但我不是百分百肯定 - 我在这里有类似的问题:Dependency from Gateway to Framework in Clean Architecture