Dagger - Hilt:我们是否需要用 @AndroidEntryPoint 标记所有活动

Sha*_*han 8 android dependency-injection kotlin dagger-hilt

所以我的问题是,当我开始使用 Hilt 时,我们是否需要使用 @AndroidEntryPoint 注释标记所有活动,或者我们是否可以创建一个 BaseActivity 并将其扩展到 AppCompactActivity 并将该单个类标记为入口点?

这行得通吗?这种风格的缺点是什么(如果有)?

谢谢。

Fre*_*red 2

我不确定这是否是一个全面的答案,也许这更多是个人意见,但我想问目标是什么?

您是否正在尝试减少样板文件/需要编写的代码量?那么恐怕它会是相同的,甚至更多,因为您必须转到每个活动并添加继承部分。

对我来说,缺点是你现在使用继承来实现一些避免它的东西。注释使您有机会注释任何活动,而无需说明它是基本活动。这通常比继承更好,因为并非每个活动都是基本活动,并且您可以将代码与 dagger 实际执行的操作更多地分离。我认为这更像是一个委托模式或者更像是一个装饰器。

也就是说,为了回答你的问题,我并不是 100% 这有效,但对我来说,它有使用继承来处理不应该通过继承建模的东西的缺点。