Dagger2
文章平均质量分 70
Android_Study_OK
一路追赶!
展开
-
“一盘沙拉”带你入门Dagger2(五)之 @Scope
像上文所说我们要让苹果、桔子使用同一把刀,让香蕉使用另外一把刀,开始吧在Dagger2中,我们可以通过自定义Scope来实现局部单例。 首先让我们先来定义一个局部作用域:/** * 自定义一个作用域 */@Scope@Retention(RetentionPolicy.RUNTIME)public @interface KnifeScope {}在Module里使用 @KnifeS原创 2016-09-04 09:51:02 · 2348 阅读 · 3 评论 -
“一盘沙拉”带你入门Dagger2(四)之 @Singleton
@Singleton可以方便地实现单例(全局单例)我们在Salad类里面引入两个Orange的实例,查看他们的内存地址public class Salad { @Inject//桔子1 Orange orange1; @Inject//桔子2 Orange orange2; ... public Salad() { ... Log.e("TA原创 2016-09-02 16:42:00 · 4447 阅读 · 3 评论 -
“一盘沙拉”带你入门Dagger2(二)之带参数怎么办
如果被依赖类的构造函数带有参数,要把这个参数的类型也管理起来 现在要在Salad里新加入一个水果Orange,但是Orange的构造函数里需要传入一个Knife来切水果,那么如何注入这个Orange呢?新增的两个类public class Orange { Knife knife; public Orange(Knife knife){ this.knife=kn原创 2016-09-01 13:42:11 · 4314 阅读 · 3 评论 -
“一盘沙拉”带你入门Dagger2(六)之Component依赖
如果我们有一套做好的煎饼果子(一套齐全的依赖体系,Module、Component),另外一个类需要这套依赖体系的一个对象作为依赖,怎么办,还需要再为这个对象,建立一套新的Module和Component吗 显然是不用的,Component之间是可以依赖的开始举例子:1. 我们先做一套的依赖体系,这个体系里,依赖的Tomato西红柿Tomato.classpublic class Tomato原创 2016-09-05 15:12:09 · 4774 阅读 · 5 评论 -
“一盘沙拉”带你入门Dagger2(一)之HelloWorld
系列文章“一盘沙拉”带你入门Dagger2(一)之HelloWorld“一盘沙拉”带你入门Dagger2(二)之带参数怎么办“一盘沙拉”带你入门Dagger2(三)之@Qualifier“一盘沙拉”带你入门Dagger2(四)之 @Singleton“一盘沙拉”带你入门Dagger2(五)之 @Scope引子使用Dagger2这个框架,可以高效的在Android(java)中实现“依赖注入”。什么是原创 2016-08-31 13:53:02 · 3503 阅读 · 2 评论 -
“一盘沙拉”带你入门Dagger2(三)之@Qualifier
当一个类有两个构造函数时,使用Dagger2时,如何获取指定构造函数new出来的对象 或者说虽然这有一个构造函数,但是这个构造函数new出了两个具有不同属性的对象,我们如何获取到他们,比如Person类,他有一个属性Sex,new了第一个Person,设置sex=“male”,new了第二个Person,设置sex=“female”,我们如何在注入依赖时候,准确注入一个男人或者男人呢原创 2016-09-01 14:41:15 · 3165 阅读 · 1 评论 -
Dagger2之Kotlin写法
依赖项目的gradlebuildscript {ext.dagger_version = '2.11'}module的gradle//多模块项目,这个必须在使用到dagger2的所有moudle里都配置apply plugin: 'kotlin-kapt'dependencies { //dagger2,这个可以写在BaseMoudle里 api "com.go...原创 2019-05-24 16:13:51 · 945 阅读 · 1 评论 -
@Singleton能保证单例吗
scope里有个@Singleton,它能保证单例吗?答案是不完全能(或者是说是有条件的能)当你不使用@Singleton时,在同一个宿主类里,注入两次同一个类的对象你会发现,两个对象的地址不一样当你使用了@Singleton,在同一个宿主类里,注入两次同一个类的对象你会发现,两个对象的地址变得一样了但是使用了@Singleton后,此时你在另一个宿主内,再次注入两次同一个类...原创 2019-05-26 12:08:18 · 3248 阅读 · 0 评论