初识Dagger(1)

首先配 Dagger

在Applcation的gradle中
1:
dependencies {
classpath ‘com.neenbedankt.gradle.plugins:android-apt:1.8’
}
2
在build.gradle(Module: app)文件中最外层的上方添加
apply plugin: ‘com.neenbedankt.android-apt’
3:
在build.gradle(Module: app)文件中
apt ‘com.google.dagger:dagger-compiler:2.2’
compile ‘com.google.dagger:dagger:2.2’
provided ‘javax.annotation:jsr250-api:1.0’

以上就完成配置了

为了解耦(依赖注入)而生
什么是Dagger?
inject
通俗的将就是把一个实例 注入 到 一个目标类中 ,使其目标类拥有实例的功能

就像这样

// 实例 对象
public class A{

public String sayHi(){
    return "i love you ";
}

}

//目标

public class B{

public void say(){
    A a = new A();
     system...(a.sayHi());
}

}

其实dagger 就是完成了如上的需求依赖注入

看看dagger是如何实现上述功能的
伪demo

先定义一个
@Module
public class A {
    @Pervoides
    pubulic String sayHi(){
    return "beauty , lai yi fa ";    
}
}
public class B{
//在B中注入    
@Inject sayHi;
public static void main(....){
    DaggerAppComponent.Builder().injectComponent(this);
    //在B类(目标类中直接输出)
    System.out.println(sayHi);    
    }    
}
以上其实还不行他们之间还需要一个桥梁
那就是Component 可以理解为 注入器,组件,等等。
@Component(modules =A.class)   //标注 这个,让A 与B 产生关系
public @Interface AppComponent{
  void  injectComponent(B b);
}

以上可重点内容以理解为,DaggerAppComponent(注入器,就像我们小时候的打屁股的针一样) 把 A 类(实例类,理解为药水) ,注入到(药水打到屁股) ,B类 目标类(我们的屁股)
那么我们屁股就拥有药水的能力(用@Inject 注解)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值