You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Kotlin环境下Dagger 2.15:是否需在每个Activity添加注入代码及文档更新?

关于Dagger 2.15在Kotlin中使用的两个问题解答

1. 是否需要在每一个Activity中添加AndroidInjection.inject(this)?

答案是不一定,分两种场景来看:

  • 如果你直接继承原生的AppCompatActivity或Activity,那确实需要在每个Activity的onCreate()方法里(调用super.onCreate(savedInstanceState)之前)手动加上这行代码,确保Dagger能在Activity初始化阶段完成依赖注入。
  • 要是想简化重复代码,可以直接继承Dagger封装好的基类:DaggerAppCompatActivity或者DaggerActivity。这些基类内部已经帮你实现了注入逻辑,你的业务Activity只要继承它们,就不用再手动写注入代码了。

举个Kotlin的示例:

class HomeActivity : DaggerAppCompatActivity() {
    @Inject lateinit var userRepository: UserRepository
    
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_home)
        // 直接使用注入的依赖即可
        userRepository.loadUserData()
    }
}

2. Dagger官方文档是否针对最新版本进行了更新?

当然是啦,Dagger的官方文档会跟着版本迭代同步更新。不管是新特性的引入、用法的优化,还是版本间的兼容性变更,文档里都会及时适配当前的最新稳定版本。比如2.15版本中关于Android注入的简化方案,文档里都有对应的示例和详细说明,你可以放心参考官方文档来适配对应版本的Dagger。

内容的提问来源于stack exchange,提问作者Ramprasad Ranganathan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 10:31:59