眼下Dagger有两个版本号,一个是square的Dagger1.x,另外一个是由google主导与squre联合开发的Dagger2。
本文介绍一下在Eclipse中搭建Dagger和Dagger2使用环境。样例採用的均为Dagger和Dagger2官方提供的 “咖啡”案例(Dagger1.x的案例位置在example/simple目录下。Dagger2的案例位置在example/simple目录下)。
Dagger1.X:
1. 首先下载Dagger1.x的相关内容。
jar文件能够从http://square.github.io/dagger/上下载,下载时请注意,dagger.jar和dagger-compilejar这两个文件都须要下载,两个jar文件当前的最新版本都为1.2.2。
Dagger的完整源码和官方example从https://github.com/square/dagger上下载。
2. 还须要额外下载两个jar文件:javawriter-2.2.1.jar和javax.inject-1.jar。
3. 在Eclipse中新建Java项目。在src目录下新建coffee包,并将官方案例(example/simple)中的全部.java源文件拷贝到coffee包下。
4. 新建libs目录。将4个jar文件拷贝到libs中并build path。
5. 接下来要改动该Java项目的Java compiler。详细方式是:
i.右键单击Java项目。在弹出菜单中选择最以下的properties项
ii.选择Java Complier。确定一下Java使用的是1.6或以上版本号
iii.展开Java Complier,选择Annotation Processing,将右側顶部的三个选择框均选中。即Enable projectspecific settings、Enable annotation processing和Enable processing ineditor
iv.展开Annotation Processing,选择里面的Factory Path
v. 点击右側的Add JARs…button,将项目的libs目录下的4个jar包都加入进来。
注意,第一个org.eclipse.jst.ws.annotations.core是Eclipse已经加入上的。我们须要做的是加入额外的4个jar文件进来。
通过以上5步,Java Complier设置完成。
6. 右键执行CoffeeApp.java就可以。
执行成功后,在控制台上输出例如以下内容:
Dagger 2
1. 首先下载Dagger2的相关内容。jar文件能够从http://search.maven.org/#search|ga|1|g%3A%22com.google.dagger%22上下载。下载时请注意这里除了要下载dagger.jar和dagger-compile.jar这两个文件之外。还须要下载 dagger-producers.jar。前两个jar文件可供下载的最新版本都为2.0.1。而
dagger-producers 可供下载的最新版本为2.0-beta。
Dagger2的完整源码和官方example从https://github.com/google/dagger下载。
2. 还须要额外下载两个jar文件:javax.inject-1.jar和guava-18.0.jar。特别须要注意的是guava的版本,与dagger 2.01配合使用的guava版本一定要选择18.0。
3. 在Eclipse中新建Java项目。
在src目录下新建coffee包,并将官方案例(example/simple)中的全部.java源文件拷贝到coffee包下。
此时Eclipse会有build错误信息弹出。直接点击确定就可以。错误的产生这是由于还没有设置Java Complier的缘故。等设置完成后就一切正常了。
4. 新建libs目录,将5个jar文件拷贝到libs中并build path。
注意,假设你是开发anroid的代码,android SDK中不包括javax.annotation相关内容,dagger2在自己主动生成注解相关类的时候,会使用到里面的一些类。因此开发安卓程序时。你须要额外的再导入一个javax.annotation.jar文件(下载地址是:http://www.java2s.com/Code/Jar/j/Downloadjavaxannotationjar.htm)
5. 接下来要改动该Java项目的Java compiler。详细方式是:
i.右键单击Java项目。在弹出菜单中选择最以下的properties项
ii. 选择Java Complier,确定一下Java使用的是1.6或以上版本号
iii.展开Java Complier。选择Annotation Processing,将右側顶部的三个选择框均选中。即Enable project specific settings、Enable annotationprocessing和Enable processing in editor
iv.展开Annotation Processing,选择里面的Factory Path
v.点击右側的Add JARs…button,将项目的libs目录下的5个jar包都加入进来。
注意,第一个org.eclipse.jst.ws.annotations.core是Eclipse已经加入上的,我们须要做的是加入额外的5个jar文件进来。
通过以上5步。Java Complier设置完成。
6. 右键执行CoffeeApp.java就可以。执行成功后。在控制台上输出例如以下内容:
至此,在Eclipse中Dagger1.x和Dagger2的环境搭建工作完成。接下来就能够參考官方的案例和说明进行代码的学习了。至于选择Dagger1.x还是Dagger2是一个见仁见智的问题,两者有比較多相似的地方。但也有所不同。首先Dagger2在性能上有所提升,其次在正确类型注入的描写叙述上採用了些许不同的方式。Dagger2相对简略一些,并且Dagger2对Dagger1.x的一些改进,使得Dagger2在安卓开发中能更方便的被使用。整体上。不管是Dagger2和Dagger1.x功能都非常强大,可是为了获得惬意的注入效果,注入前的描写叙述都比較麻烦。所以。在安卓开发中。假设不过想通过注解的方式获得视图对象、事件监听器,省略诸如findViewById以及setOnClickListener这些模板式代码的书写。应该选用更有针对性的框架,比如ButterKnife(ButterKnife的使用能够參考一下这篇文章:http://stormzhang.com/openandroid/android/2014/01/12/android-butterknife/)、xUtils的ViewUtils(xUtils的使用能够參考官方文档中的演示样例https://github.com/wyouflf/xUtils)等。