眼下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包下。

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

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

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

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包下。

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

此时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就可以。执行成功后。在控制台上输出例如以下内容:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

至此,在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)等。

在Eclipse中搭建Dagger和Dagger2使用环境的更多相关文章

  1. 久违的问候-----eclipse中搭建maven项目2016年

    好久没有写过博客了,可是一直向别人推荐自己的博客,深感惭愧!今天再次在寒冷之夜继续code,config,write. 接下来,我们就来谈下eclipse中搭建maven web工程的步骤!虽然就是一 ...

  2. 我们的相识,总是那么巧。-------eclipse中搭建maven项目

    一.我们就来谈下eclipse中搭建maven web工程的步骤!虽然就是一个简单的例子,但是过程是很艰辛的. 首先我们看一下eclipse的封面,下面就是刚打开的华丽封面哦 其次我安装了eclips ...

  3. 在Eclipse中搭建C/C++环境

    在Eclipse中搭建C/C++环境 本文地址:http://blog.csdn.net/you_and_me12/article/details/7389934 习惯了使用eclipse编程后,现在 ...

  4. [转]在Eclipse中搭建Python开发环境

    在Eclipse中搭建Python开发环境 来自: http://hi.baidu.com/hqwfreefly/blog/item/2543181d0afd9604314e150e.html 前言 ...

  5. OSGI企业应用开发(三)Eclipse中搭建Equinox运行环境

    上篇文章介绍了如何在Eclipse中搭建Felix的运行环境,我们需要將Bundle发布到Felix框架的bundle目录下,Felix框架启动时才会自动加载这些Bundle,否则需要在Felix框架 ...

  6. OSGI企业应用开发(二)Eclipse中搭建Felix运行环境

    上篇文章介绍了什么是OSGI以及使用OSGI构建应用的优点,接着介绍了两款常用的OSGI实现,分别为Apache Felix和Equinox,接下来开始介绍如何在Eclipse中使用Apache Fe ...

  7. 在Eclipse中搭建Python开发环境

    在Eclipse中搭建Python开发环境 来自: http://hi.baidu.com/hqwfreefly/blog/item/2543181d0afd9604314e150e.html 前言 ...

  8. 在Eclipse中搭建Android开发环境

    忙活了两天多的时间,终于在Eclipse中成功搭建了Android开发环境,着实不易啊!! 原本我用的编译器是MyEclipse的,但是从网上找不到如何在MyEclipse中搭建环境,于是乎就换了Ec ...

  9. 如何在Eclipse中搭建MyBatis基本开发环境?(使用Eclipse创建Maven项目)

    实现要求: 在Eclipse中搭建MyBatis基本开发环境. 实现步骤: 1.使用Eclipse创建Maven项目.File >> New >> Maven Project ...

随机推荐

  1. Window上python 开发--1.搭建开发环境

    事实上在开发python最好在ubuntu环境下,简单也便于扩展各个package.可是我的linux的电脑临时不在身边.还的我老婆的电脑win7没办法啊. 因为python的跨平台性.在window ...

  2. MySQL主从复制和读写分离

    我们知道应用对数据库的訪问通常情况下大部分都是读操作,写仅仅占非常少一部分.因此读写分离(read-write-splitting)能有效减少主库压力,从而解决站点发展过程中遇到的第一次数据库瓶颈. ...

  3. 0x5C 数位统计DP

    怎么说,数位DP还是我的噩梦啊,细节太恐怖了. 但是这章感觉又和之前的学的数位DP有差异?(应该是用DP预处理降低时间复杂度,好劲啊,不过以前都是记忆化搜索的应该不会差多少) poj3208 f[i] ...

  4. hdoj--1045--Fire Net(二分图)

    Fire Net Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total S ...

  5. rehat7.X下postgresql 11编译安装

    文档目录结构: 一.准备 操作系统版本:rehat7.6 Postgresql:11.2 软件安装目录:/pgsql11/basedir 数据文件存放目录:/pgsql11data/ 11.2的下载地 ...

  6. Hibernate中实体对象的状态

    实体对象的状态 这里的实体对象是指Hibernate的O/R映射关系中的域对象(即O/R中的O).实体对象的生命周期是指实体对象由产生到被GC回收的一段过程,实体对象的生命周期包括3种状态:自由状态( ...

  7. 原生js做h5小游戏之打砖块

    前言 首先,先说明一下做这个系列的目的:其实主要源于博主希望熟练使用 canvas 的相关 api ,同时对小游戏的实现逻辑比较感兴趣,所以希望通过这一系列的小游戏来提升自身编程能力:关于 es6 语 ...

  8. Android Drawable之getIntrinsicWidth()和getIntrinsicHeight()

              在Android的开发中,凡是需要画图的地方大都离不开类Drawable.Android的官方文档中介绍这个类就是被设计用来表示可以被画的东西.A Drawable is a ge ...

  9. 移植最新u-boot(裁剪和修改默认参数)

    [参考]韦东山 教学笔记 ================================================== 最简单的bootloader的编写步骤: 1. 初始化硬件:关看门狗.设 ...

  10. 【Oracle】DBMS_STATS.GATHER_TABLE_STATS分析表

    表分析,简单的说,就是收集表和索引的信息,CBO根据这些信息决定SQL最佳的执行路径.通过对表的分析,可以产生一些统计信息,通过这些信息oracle的优化程序可以进行优化. 语法: DBMS_STAT ...