Dagger2 填坑集锦

前言

刚开始使用,处于学习阶段,仅以此文记录遇到的各种问题以及解决方案。

推荐教程文章链接:Dagger2神器入门(一),我看了不少文章,以此篇最为浅显易懂。我非常同意作者的看法,学一样新东西,如果你的技术积累还未达到 触类旁通,一法通,万法解通的境界,就不要一开始就直奔原理,先知道怎么用,然后用着用着慢慢深入。

文章以上面链接的Demo为例子

1. 第一个坑,按照官方 Dagger2 官方指导,添加依赖,但是apt无法自动生成 DaggerCarComponent 的这个类,clean,bulid,restart全都没用

compile'com.google.dagger:dagger:2.11'

annotationProcessor'com.google.dagger:dagger-compiler:2.11'

公司时解决方案:  版本降低到2.09(AS2.2)

ps:AS更新到2.33,依旧只能用2.09。

家里时不需要解决方案(AS2.3) 

PS: 开发工具什么情况都可能发生,别人能用的你不一定能用,别人不能用的你可能能用,反正就是各种解决问题。

2.  解决第1个问题中发现的问题。

很多文章都提到 怎么去使用这个 库,但是跟现在Github官方指导的不一样,第一次用的 对apt不了解的人 可能会疑惑到底该用哪个

这是第一种做法

在Project下的build里配置

dependencies {

classpath'com.android.tools.build:gradle:2.1.0'

//添加apt插件classpath'com.neenbedankt.gradle.plugins:android-apt:1.8'

}

在app的build里添加依赖

apply plugin:'com.android.application'

apply plugin:'com.neenbedankt.android-apt'  //应用apt插件

dependencies {

...

compile'com.google.dagger:dagger:2.4

'apt'com.google.dagger:dagger-compiler:2.4'

//java注解compile'org.glassfish:javax.annotation:10.0-b28'

... 

}

第2种方法是官方指导的,就按照官方的来,不用添加任何额外操作,如果不行,就降低版本试试。

区别在哪里给我就不copy别人的劳动成果了,给你们链接 什么是apt

你可能感兴趣的:(Dagger2 填坑集锦)