Android Annotations号称 "是一个能够加速 Android 开发的开源框架,它可以帮助开发者处理一些 前后台任务、rest 服务、应用类、代码片段等,让开发者专注于真正重要的东西”。关于Annotation究竟是什么?大家可以参考http://www.blogjava.net/mlh123caoer/archive/2007/09/06/143260.html来看,不再赘述!
为了看看实际效果,今天搭建环境,学习起来!
为了看看实际效果,今天搭建环境,学习起来!
一、准备
在 https://github.com/excilys/androidannotations 下载源码及相关的jar包
按照 https://github.com/excilys/androidannotations/wiki/Eclipse-Project-Configuration 上的步骤配置Eclipse
二、配置
基本的配置方法来自《官方文档(Eclipse)》。
首先从github下载编译好的包——当然要自己从 Github 上 clone 源码来编译也行。
解包后可以得到两个 jar 文件,一个是 androidannotations-xxx.jar 另一个是 androidannotations-api-xxx.jar 。
把 aa-api-xxx.jar 放到 libs 目录下,但是 aa-xxx.jar不可以放到 libs 目录下,可以另外建一个目录,比如说叫 compile-libs 。
查看 Java Compiler | Annontation Process | Factory Path ,点击 Add JARs (可能需要先选中 Enable project specific settings),把刚才那个 aa-xxx.jar 加进来。
点击确定后将弹出个对话框,提示 annotation 设置变更,要求 rebuild project ,确定即可重建项目。
最后在 Java Build Path 里,选择 Libraries 页,点 Add JARs ,把刚才那个 aa-api-xxx.jar 加进来即可。
配置完成。
在 https://github.com/excilys/androidannotations 下载源码及相关的jar包
按照 https://github.com/excilys/androidannotations/wiki/Eclipse-Project-Configuration 上的步骤配置Eclipse
二、配置
基本的配置方法来自《官方文档(Eclipse)》。
首先从github下载编译好的包——当然要自己从 Github 上 clone 源码来编译也行。
解包后可以得到两个 jar 文件,一个是 androidannotations-xxx.jar 另一个是 androidannotations-api-xxx.jar 。
把 aa-api-xxx.jar 放到 libs 目录下,但是 aa-xxx.jar不可以放到 libs 目录下,可以另外建一个目录,比如说叫 compile-libs 。
然后打开 Project | Properties …
查看 Java Compiler ,确定 Compiler compliance level 必须是 1.6 。
查看 Java Compiler | Annontation Processing ,选中 Enabled annontation processing (可能需要先选中 Enable project specific settings) 。
查看 Java Compiler ,确定 Compiler compliance level 必须是 1.6 。
查看 Java Compiler | Annontation Processing ,选中 Enabled annontation processing (可能需要先选中 Enable project specific settings) 。
查看 Java Compiler | Annontation Process | Factory Path ,点击 Add JARs (可能需要先选中 Enable project specific settings),把刚才那个 aa-xxx.jar 加进来。
点击确定后将弹出个对话框,提示 annotation 设置变更,要求 rebuild project ,确定即可重建项目。
最后在 Java Build Path 里,选择 Libraries 页,点 Add JARs ,把刚才那个 aa-api-xxx.jar 加进来即可。
配置完成。
三、
使用
就拿自动生成的空白项目为例子。
首先一步是修改 Manifest 将默认的 xxx.MainActivity 名字改为 .MainActivity_ 。这个带下划线的版本是 AndroidAnnotations 生成的。
然后去修改 class MainActivity 的代码,把里面的 onCreate 什么的全删除了,只要这样即可自动在生成的 MainActivity_ 里加入 onCreate 并 setContentView :
- @EActivity(R.layout.activity_main)
- public class MainActivity extends Activity {
- }
如果需要在程序里使用 UI 控件,也不需要再写一大堆的 findViewById 和相应的强制类型转换。只需要这样即可:
- @ViewById(R.id.hello)
- TextView tvHello;
基本用法就是这么简单。
更多用法参见 Cookbook 及所有可用的 annotations 说明。
最后,看了一些大牛的博客,有提到annotations和
跟很多非官方库不兼容,甚至试了官方最新推出的 support - ActionBarCompat 也没成功,这个可能是以后应用的一个大问题!