眼下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. grpc vs2015编译

    获取gRPC源码 gRPC是开源框架,项目代码在github上,所以首先要安装github.github安装后,在指定文件夹中,执行git命令就可以获取gRPC的所有源码. git clone  ht ...

  2. 2.2Shiro架构

  3. 2-1 Restful中HTTP协议介绍

    Restful是一种基于资源的软件架构风格,所以从定义上来说是跟HTTP无关的.但是本课程提到的Restful API是基于HTTP协议的一种实现.所有相关知识都是基于现有的HTTP协议而来,并没有对 ...

  4. consul 集群安装

    上图是官网提供的一个事例系统图,图中的Server是consul服务端高可用集群,Client是consul客户端.consul客户端不保存数据,客户端将接收到的请求转发给响应的Server端.Ser ...

  5. 几款jQuery右键菜单插件介绍

    在网页中使用自定义右键菜单,实现上皆为使用javascript禁用浏览器默认的右键菜单,然后在网页中响应鼠标右键事件,弹出自定义的菜单. 类似右键菜单的组件网上很多.一般而言,改变浏览器的默认菜单应当 ...

  6. [luogu P5349] 幂 解题报告 (分治FFT)

    interlinkage: https://www.luogu.org/problemnew/show/P5349 description: solution: 设$g(x)=\sum_{n=0}^{ ...

  7. Gym-101915J The Volcano Eruption 计算几何

    题面 题意:给你一个矩阵,然后有很多的圆,这些圆可能相交着,一个或者几个就导致这个矩形被分割开了,就是从最下面的边到上面的边,连线被这些圆阻隔了,每一堆圆当做一个阻碍,问一共有几个阻碍 题解:看起来好 ...

  8. JS轮播图动态渲染四种方法

    一. 获取轮播图数据  ajax 二.根据数据动态渲染 (根据当前设备 屏幕宽度判断) 1. 准备数据 2. 把数据转换成html格式的字符串 动态创建元素 字符串拼接 模板引擎 框架方法 2.把字符 ...

  9. HDU2034 人见人爱 A - B

    2019-05-17 09:37:46 加油,加油 !!! 结果要从小到大输出 NULL后面没有空格 m && n == 0才结束 注意:看题仔细,罚时很严重 #include < ...

  10. python基本数据类型之列表list

    list的基本功能 结果类型  中括号括起来 逗号(,)分割每一个元素 列表中的元素可以是数字,字符串,列表,布尔值所有的都能放 索引,切片 ? 1 2 3 li = [1, 3, 5, " ...