Dagger2学习教程
Dagger2在Android平台的使用,简单明了、通俗易懂
CharonChui
这个作者很懒,什么都没留下…
展开
-
Dagger2简介(一)
Dagger2简介(一)Dagger A fast dependency injector for Android and Java.Dagger是一个依赖注入(Dependency Injection,简称DI)框架,butterknife也是一个依赖注入框架。但是Dagger2比Butterknife更强大的多,它的主要作用,就是对象的管理,其目的是为了降低程序耦合。有关...原创 2018-06-07 10:38:24 · 413 阅读 · 0 评论 -
Dagger2入门demo(二)
Dagger2入门demo(二)Dagger中使用了很多注解: @Module:Modules类里面的方法专门提供依赖,所以我们定义一个类,用@Module注解,这样Dagger在构造类的实例的时候,就知道从哪里去找到需要的 依赖。modules的一个重要特征是它们设计为分区并组合在一起(比如说,在我们的app中可以有多个组成在一起的modules)@Provide:在module...原创 2018-06-07 10:39:05 · 887 阅读 · 0 评论 -
Dagger2入门demo扩展(三)
Dagger2入门demo扩展(三)上一篇文章中讲了一个入门的例子,感觉虽然不懂内部怎么实现的,好像大体知道要怎么去用了,理解了每部分都是干什么的,既然都讲了例子了,那就继续用 这个例子讲下如果被依赖的类的构造函数带有参数,我们该怎么去处理?现在大夏天的我们平时去吧台打咖啡都想来点清凉的,透心凉,心飞扬,那怎么办?这时候我们是不是该提供一个加冰块的功能啊? 咖啡小姐姐把咖啡豆进...原创 2018-06-07 10:39:59 · 418 阅读 · 0 评论 -
Dagger2单例(四)
Dagger2单例(四)我们就继续用前面的例子开始讲了,如果我使用了两个对象: class CoffeeMaker { @Inject Heater heater; @Inject Heater heater2; CoffeeMaker() { CoffeeComponent component = DaggerCoffeeC...原创 2018-06-07 10:45:33 · 1287 阅读 · 1 评论 -
Dagger2Lay和Provider(五)
Dagger2Lay和Provider(五)Lazy<>和Provider<>我们再回到之前的例子,现在我们把前面使用单例的部分都去掉,再来继续讲其他的部分。在上面的CoffeeModule中,把每个provideXXX()都添加一句log: @Modulepublic class CoffeeModule { @Provides ...原创 2018-06-07 10:46:15 · 518 阅读 · 0 评论 -
Dagger2Android示例代码(六)
Dagger2Android示例代码(六)经过前面的几个部分,基本把Dagger2讲完了,都是通过简单的示例的代码。那这里我们就用开发中具体的部分来进行示例, 这里示例主要是有两个小问题,第一个就是前面我们从例子开始讲的试试直降了@Inject在变量上的使用,没有将去实际的用构造函数使用@Inject来讲解。 还有一个就是Component在使用inject的时候也有两种方式:create...原创 2018-06-07 10:47:08 · 474 阅读 · 0 评论 -
Dagger2之dagger-android(七)
Dagger2之dagger-android(七) Android Gradle // Add Dagger dependencies dependencies { compile ‘com.google.dagger:dagger:2.x’ annotationProcessor ‘com.google.dagger:dagger-compiler:2.x...原创 2018-06-07 10:47:43 · 1265 阅读 · 0 评论 -
Dagger2与MVP(八)
Dagger2与MVP(八)前面介绍了Dagger2的基本知识,并且通过示例代码演示了如何在Android开发中去使用Dagger2。 Dagger2可以减少很多模板化的代码,更易于测试、降低耦合度,创建可复用可交换的模板。 Dagger2优点: 提供了对全局对象实例的简单访问方式 声明了单例的实例都可以通过@Inject进行访问。比如下面的MyTwitterApiCl...原创 2018-06-07 10:48:23 · 806 阅读 · 0 评论