试用Android Annotations
来源:互联网 发布:淘宝咸鱼搜索 编辑:程序博客网 时间:2024/05/11 21:44
Android Annotations
本来我想写个 Java 版本的《RESTful客户端库:RestClient 》用于 Android 应用开发,结果发现不太好写,虽然用了 Dynamic Proxy 实现了大部分功能,但是因为无法通过反射取得参数名,而且 Java 没有 DuckType ,再加上也没有方便的 Dict 类型,搞出来的东西很难看,不好用。
后来令狐给我推荐了这个 Android Annotations ,这个用 annotation 实现的方法真是好,所以想试一下,刚好在 eoe 论坛看到有人问这个东西有没有一个可以跑的例子程序参考一下,我就去试了一下官方的例子,还是可以用的,估计是他配置不对。
这货的配置的确有点麻烦,我也是按官网的步骤一步步做才成功的,但是实际使用起来不知道如何,还是写个 Demo 试试吧。
配置
基本的配置方法来自《官方文档(Eclipse)》。
首先从这里下载编译好的包——当然要自己从 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 | 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 说明。
当然最后还是要泼一盆冷水。这个东西跟很多非官方库不兼容,甚至我试了官方最新推出的 support - ActionBarCompat 也没成功。
- 试用Android Annotations
- 简单试用Android Annotations
- 试用Android Annotations
- Android Annotations
- Android Annotations
- Android annotations
- android annotations
- JDK1.5 注释语法(Annotations)新鲜试用
- JDK1.5 注释语法(Annotations)新鲜试用
- JDK1.5 注释语法(Annotations)新鲜试用
- JDK1.5 注释语法(Annotations)新鲜试用
- Android Annotations 介绍
- Android Annotations浅析
- Android Annotations浅析
- android工具-annotations
- android工具-annotations
- Android Annotations浅析
- android-annotations使用入门
- DB2重定向恢复数据库
- Web Service 安全扩展(SecurityExtension ) vme
- Teams
- 恢复数据库报错,SQL3012C 发生系统错误(原因码 = "")。无法处理后续的 SQL 语句。 SQLSTATE=58005
- 初步认识网络架构(Network Architecture)
- 试用Android Annotations
- LeetCode一道题:回文数划分的最小次数
- PostgreSQL: libpq - C 库(待续)
- 如何在MFC中启动其它的(.exe)可执行文件
- SVN服务器搭建和使用(一)
- [每日一题] 11gOCP 1z0-052 :2013-09-21 automatic maintenance window..........................B53
- linux vi常用命令
- hdu 4758 Walk Through Squares(AC自动机+DP,4级)
- hdu 2896 病毒侵袭(AC自动机)