androidannotations使用以及配置简单介绍

一 Android Annotations 的介绍

 

AndroidAnnotations官网:AndroidAnnotations首页

开源于github的项目地址:AndroidAnnotations Github

AndroidAnnotations是一个能够让你快速进行Android开发的开源框架,它能让你专注于真正重要的地方。使代码更加精简,使项目更加容易维护,它的目标就是“Fast Android Development.Easy maintainance”.通过一段时间的使用发现,相比原生的Android开发,确实能够让你少些很多代码,它的首页也给出了一个简单的例子,通过例子也可以看到代码比之前几乎少写了一半。由于是开源,所以大家都可以直接拿来使用。

至于使用这个开源框架有什么好处(只有不到150k大小),我这里就不详细翻译github上的介绍了,就简单说一下特性:

  1. 依赖注入:注入views,extras,系统服务,资源,…(Dependency Injection)
  2. 简化线程模型:注解你的方法,使他们在UI线程或在后台线程执行。(Simplified threading model)
  3. 事件绑定:注解的方法来处理事件的看法,没有丑陋的匿名监听类!(Event binding)
  4. REST客户端:创建一个客户端界面,AndroidAnnotations产生的落实。
  5. 没有魔法:由于AndroidAnnotations生成的子类在编译的时候,你可以检查代码,看看它是如何工作的。
  6. AndroidAnnotations提供这些美好的事物,甚至更低于150KB,无PERF影响任何运行时!
    更多的介绍可以前往官网或者Github上的项目去查看,它带有超级详细和全面的wiki,CookBook和API文档,十分爽心悦目。

 

二 Android Annotations 的部署

(一) 环境:

  1. 开发工具:Eclipse & android studio(本篇以eclipse为例子,其他IDE请参考官网)
  2. JDK版本:jdk1.6 以上
  3. 构建工具:Ant(Eclipse默认的build tool,因此无需装额外的插件)
  4. androidannotations:3.3 (请前往 发行地址 下载)

(二) 步骤:

  1. 准备好需要的环境,见上文
  2. 部署好项目文件
  3. 配置项目相关注解设置

1. 新建项目并配置相关JAR包

首先需要有一个普通的android项目,下载并解压androidannotations-3.3.1的JAR包,解压后有两个jar包,androidannotations-api-3.3.1.jar放置于项目libs文件夹,androidannotations-3.3.1.jar放置于项目compile-libs文件夹下(compile-libs需要自己创建,创建在项目的根目录下)

AA项目文件目录结构

2. 配置项目相关设置

在eclipse中,右键项目,选择属性Properties

Properties>> Java Compiler ,勾上Enable,确保编译器版本为1.6以上

Properties >> Java Compiler >> Annotation Processing >> 勾选Enable annotation processing(开启)

Properties >> Java Compiler >> Annotation Processing >> Factory Path >> 添加jar包,选择该项目,打开compile-libs目录下的androidannotations-3.3.1.jar

鉴于自带ADT-eclipse可能没有安装注解插件(即没有Annotation Processin)

需要配置插件:http://download.eclipse.org/releases/juno

到现在为止.算是配置完成了.有几点需要注意的.因为到实际运行的时候.是要跑注解后生成的类.所以.如Activity、Fragment、Application等实际使用的是是注解后的xxActivity_、xxFragment_.详情请查看官方相关说明.

温馨提示:

1.有一些常见的问题.可以查看github上的: FAQ

2.可以用到的注解的方法有: AvailableAnnotations

3.最后,附上一個最简单的demo提供使用.后续也会根据最常用的注解方法来分别编写文档进行介绍: androidAnnotationsDemo

坚持原创技术分享,您的支持将鼓励我继续创作!