外观
什么是 Hilt Module?如何自定义一个提供 Repository 实例的 Module?
标准回答
Hilt Module 是提供依赖规则的类:使用 @Module 与 @InstallIn 指定所属组件,通过 @Provides 方法构造 Repository;若把接口绑定到可构造实现,使用 @Binds。作用域注解决定复用范围,必须与组件寿命及被依赖对象的寿命匹配。
通俗例子
网络客户端来自第三方库,没有可修改的注入构造器,就在 Module 中提供实例;Repository 接口也可绑定到具体实现。
深入解释
**Module 什么时候有用:**某依赖不能简单通过可注入构造函数创建,例如第三方客户端或接口对应实现,就可以在 Module 中声明怎样提供它。
**作用域怎样影响结果:**绑定到哪个组件、是否加作用域,会影响对象的创建和共享范围。Repository 被多个页面共用时,要明确里面有没有页面状态和线程安全要求。
内容来源
- Android · AI Agent 知识手册 · 原条目
10.2.3