Android Annotations Eclipse 配置 (3)
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 加进来即可。
最后修改AndroidManifest中的activity名称后面加上"_"。
配置完成。
使用
就拿自动生成的空白项目为例子。
首先一步是修改 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 Eclipse 配置 (3)的更多相关文章
- eclipse 配置android sdk和maven
首先下载 ADT-22.2.0.rar eclipse-jee-kepler-R-win32-x86_64.zip android SDK4.2.zip 分别解压在一个盘 将ADT里面的两个目录内容相 ...
- Android Studio配置Android Annotations框架详解--说说那些坑
我们开发过程中都需要写些findViewByid.serOnclickListener等类似的代码,虽然不费事,但是一个项目下来,工作量还是很大的.为了节省工作量,运生了很多对应的注解框架.网上的博客 ...
- Android 开发环境配置图文教程(jdk+eclipse+android sdk)
一 相关下载(1) java JDK下载:进入该网页: http://java.sun.com/javase/downloads/index.jsp (或者直接点击下载)如下图: 选择 Downloa ...
- eclipse配置android开发环境并搭建第一个helloWord工程
一.搭建Android在eclipse下环境 一.JDK(不用安装 下载地址: http://www.xp510.com/xiazai/Application/program/23625.ht ...
- 根坤 eclipse配置android开发环境并搭建第一个helloWord工程
一.搭建Android在eclipse下环境 一.JDK(不用安装 下载地址: http://www.xp510.com/xiazai/Application/program/23625.ht ...
- Android Annotations 注解例子
1.AndroidAnnotations官网: http://androidannotations.org/ (也许你需要FQ) 2.eclipse中使用androidannotations的配置方法 ...
- Android Annotations浅析
这阵子遇到了好多事情,挺久没来更新博文了,这两天在学这个开源框架Android Annotations,用起来感觉挺方便的, 相信用过Spring注解的孩子理解起来应该比較easy! 就是配置起来比較 ...
- Android Studio最新配置教程2016
http://blog.csdn.net/wen_demo 一.Android studio 基本简单介绍 1.Android studio和Eclipse的差别: 1.Studio中有Project ...
- 【Android】Eclipse自动编译NDK/JNI的三种方法
[Android]Eclipse自动编译NDK/JNI的三种方法 SkySeraph Sep. 18th 2014 Email:skyseraph00@163.com 更多精彩请直接访问SkySer ...
随机推荐
- Swing-setBorder()用法-入门
注:本文内容转自:Swing编程边框(Border)的用法总结.内容根据笔者理解稍有整理. 函数说明: public void setBorder(Border border) 设置此组件的边框.Bo ...
- 201521123037 《Java程序设计》第7周学习总结
1. 本周学习总结 以你喜欢的方式(思维导图或其他)归纳总结集合相关内容. 2. 书面作业 1. ArrayList代码分析 1.1 解释ArrayList的contains源代码 查看ArrayLi ...
- PTA中提交Java程序的一些套路
201708新版改版说明 PTA与2017年8月已升级成新版,域名改为https://pintia.cn/,官方建议使用Firefox与Chrome浏览器. 旧版 PTA 用户首次在新版系统登录时,请 ...
- 201521145048《Java程序设计》第14周学习总结
1. 本周学习总结 1.1 以你喜欢式(思维导图或其他)归纳总结多数据库相关内容. 1.数据库的定义:是为了实现一定目的按某种规则组织起来的"数据"的"集合". ...
- 201521123106 《Java程序设计》第14周学习总结
1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多数据库相关内容. 2. 书面作业 1. MySQL数据库基本操作 建立数据库,将自己的姓名.学号作为一条记录插入.(截图,需出现自 ...
- 201521123101 《Java程序设计》第9周学习总结
1. 本周学习总结 2. 书面作业 1. 常用异常,题目5-1 1.1 截图你的提交结果(出现学号) 1.2 自己以前编写的代码中经常出现什么异常.需要捕获吗(为什么)?应如何避免? 遇到ArrayI ...
- 数据库系统概论——Chap. 1 Introduction
数据库系统概论--Introduction 一.数据库的4个基本概念 数据(data):数据是数据库中存储的基本单位.我们把描述事物的符号记录称为数据.数据和关于数据的解释是不可分的,数据的含义称为数 ...
- JavaScript 基本语法结构
1 变量 JavaScript的变量是弱类型的,就是所有的对象都是使用var 来进行声明 2 变量的命名规则 1.由字母.数字.下划线组成,区分大小写 2.以字母开头 3.变量名不能有空格 4.不能使 ...
- HTML5可预览多图片ajax上传(使用formData传递数据)
HTML5可预览多图片ajax上传(使用formData传递数据) 在介绍上传图片之前,我们简单的来了解下FormData的基本使用:介绍完成后这些基本知识后,我们会在文章最后提供一个demo,就是a ...
- 为什么Java中的String类是不可变的?
String类是Java中的一个不可变类(immutable class). 简单来说,不可变类就是实例在被创建之后不可修改. 在<Effective Java> Item 15 中提到了 ...