网上介绍的原理比较多,使用的都比较模糊,我这里细细说明一下
在写本文这个时候,版本是2.14.1,
首先引入包:
compile 'com.google.dagger:dagger:2.14.1' //主要版本
annotationProcessor 'com.google.dagger:dagger-compiler:2.14.1'//注解预编译
compile 'com.google.dagger:dagger-android:2.14.1' //android中的特性支持
compile 'com.google.dagger:dagger-android-support:2.14.1' // 如果要兼容以前,比如support的fragment什么的
annotationProcessor 'com.google.dagger:dagger-android-processor:2.14.1'//注解预编译
以前可能都是用apt(我没有用过)第三方,相当于将代码预生成,不使用反射提升效率,并且不需要引入jar包,减少体积。
但是现在官方的东东来了。那就是annotationProcessor 但是要使用androidstudio新版。我用的是3.0
下面写一个类
@Component()
public interface ServiceShop {
}
就这样,点击一下运行的锤子
就生成一个类,就可以使用
DaggerServiceShop
来执行相关的操作了。
下面介绍一下Dagger2的基本类和基本使用方式