dagger2
丶咿呀咿呀
从零开始
展开
-
Dagger2 进阶(二)
@Qulifier 和@Named在用Module的时候是根据返回类型来确定为谁提供依赖的,当某个对象需要注入依赖时,Dagger2就会根据Module中标记了@Provide的方法的返回值来确定由谁为这个变量提供实例。如果有两个一样的返回类型,Dagger2就会无法区分。我们把这种场景叫做依赖迷失,见名知意,Dagger这时候就不知道用谁来提供依赖,自然就迷失了。所以我们引入了@Qulifier这原创 2017-05-08 17:08:31 · 240 阅读 · 0 评论 -
Dagger2 进阶 (三)
Scope(作用域)@Scope@Documented@Retention(RUNTIME)public @interface Singleton{}可以看到定义一个Scope注解,必须添加以下三部分: @Scope :注明是Scope @Documented :标记在文档 @Retention(RUNTIME) :运行时级别Dagger2可以通过自定义Scope注解,来限定通过M原创 2017-05-08 18:17:29 · 236 阅读 · 0 评论 -
Dagger2 进阶 (四)
组织ComponentComponent之间的关系有 依赖(dependencies),包含(SubComponent),继承方式(extends)。我们在一个项目之中不可能只使用一个Component连接器来注入对象完成注入工作,一般除了一个全局的ApplicationComponent之外,还有一些作用域在Activity/Fragment的Component,Component之间存在依赖关系原创 2017-05-09 17:57:47 · 303 阅读 · 0 评论 -
Dagger2 进阶(五)
懒加载Lazy和强制重新加载Provider//懒加载@InjectLazy<Person> lazyStudent;//强制重新加载@InjectProvider<Person> providerStudent;使用的时候用lazyStydent.get();Student s=lazyStydent.get();Student s1=providerStudent.get();lazy原创 2017-05-10 11:32:28 · 243 阅读 · 0 评论 -
Dagger2 基础 (一)
最简单的应用配置环境在根gradle中dependencies { … // 其他classpath classpath ‘com.neenbedankt.gradle.plugins:android-apt:1.8’ //添加apt命令 } 在App.gradle中dependencies { compile ‘com.google.dagger:dagge原创 2017-05-05 17:34:42 · 286 阅读 · 0 评论