AndroidAnnotations开发框架在Eclipse中的搭建和使用以及框架实现的原理
AndroidAnnotations是用来解决开发中繁琐的初始化组件的一个开源的框架,开发中只需要配置一下相应的注解标签就可以了,其他的工作AndroidAnnotations框架都会帮我们解决,是我们开发中没有必要重复的写一些没什么技术含量的代码,相信使用过这个框架的开发人员都比较喜欢这个框架。
使用AndoridAnnotations框架的理由:
1. 提高了开发的效率
2. 代码看起来更加整洁
3. 方便统一管理
4. 提高了代码的复用性
AndroidAnnotations框架官方网址:http://androidannotations.org
AndroidAnnotations框架jar包:https://github.com/excilys/androidannotations/wiki/Download
其实,AndroidAnnotations框架只适合于开发一些中小型的app,比较复杂的一些项目建议不要使用这个框架,因为可能会导致项目开发中应用程序超支的情况,(一般一个应用程序最多支持65536个方法)如果超出了就会导致打包成的apk没法安装到手机中使用。
下载下来的jar包:
配置方法:
1. 将androidannotations-api-3.3.1.jar放入libs目录中
如图:
2. 在项目中新建一个compile-libs文件夹,并将androidannotations-3.3.1.jar包copy到该文件夹中
如图:
3. 右键项目–》properties
4. 选择Java Compiler项,将level设置为1.6
如图:
5. 将Annotations Processin项中的第一项勾上
如图:
6.将Factory Path项的第一项勾上,并且点击Add JARs按钮
如图:
7. 找到该项目之前创建的compile-libs文件中添加的jar包,OK
如图:
8. 配置完成,可以在项目中测试一下配置是否成功,出现如下图所示可用的注解,说明已经配置成功,可以愉快的敲代码了。
如图:
AndroidAnnotations框架的使用方法:
1.当使用@EActivity、@EService这些类注解标签的时候,要注意在 Manifest.xml文件中配置(类名+下划线)的name。
如图:
2.下面举几个简单的例子说明一下AndroidAnnotations框架中注解标签的使用的方法:
如图:
这里的@Click注解标签要注意在声明玩该button1之后才能正确使用。
3.一些其他注解标签的使用方法其实都差不多,使用都非常简单,具体可以查看官方网站(https://github.com/excilys/androidannotations/wiki/AvailableAnnotations)中列出了所有的标签的使用方法进行学习使用。
4.在使用注解标签中需要注意的一些常见的问题:
编译错误:
1.要注册同名Activity_(原因在下面进行具体的解释)
2.View的修饰符是不能使用private修饰(原因在下面进行具体的解释)
3.用注解注释的方法是不能使用private修饰的方法(原因在下面进行具体的解释)
AndoridAnnotations框架的原理:
其实使用注解标签并不是java编译器就识别这些注解标签,只不过AndroidAnnotations框架通过注解标签帮我们自动生成了那些没什么技术含量的代码,标签本身并不能做什么事情,只不过标签背后通过代码进行了处理。
一.生成代码的分析
其实我们可以看到该框架自动生成的代码,方法:
从这些自动生成的代码就可以懂得了前边在使用中注意的原因:
1.自动生成的类名中就是:自己创建的Activity类名+下划线构成的。所以在Manifest.xml文件中要将name改成加下划线的形式的名称。
2.View的修饰符和用注解注释的方法是不能使用private的原因是:如果使用了private来修饰,那么其他的类就没法使用这些属性和方法,所以Annotations框架就没法自动生成相应的代码了。
如果要了解Annotations框架是如何自动生成代码的:
1.要下载Annotations框架的源码地址:https://github.com/excilys/androidannotations
2.分析MainActivity_中主要的三个类:
如图:
打开路径:E:\源码包\androidannotations-develop\AndroidAnnotations\androidannotations-api\src\main\java\org\androidannotations\api\view
二、java注解的处理:
1.分为两种方式:
1.反射处理注解
2.编译器编译时处理注解(Annotations使用了这种方式):
使用到两个重要的东西:
1.AbstractProcessor类(用来获取注解标签,然后对相应的标签进行相应的处理)
2.javax.lang.model.element包(对注解标签的描述,说明哪些是类上边配置的注解标签,哪些是成员变量上配置的注解标签,哪些是方法上边配置的注解标签)
注解的核心AbstractProcessor类的源码打开地址:
E:\源码包\androidannotations-develop\AndroidAnnotations\androidannotations\src\main\java\org\androidannotations下的AndroidAnnotationProcessor类
2.这两种注解处理方式的区别:通过反射处理注解会影响效率,但是使用编译器编译时处理注解这种方式程序处理的性能是不会收到影响的,跟调用正常的方法的处理效率是相同的。
三、生成代
4000
码
Annotations使用了第三方的Apache子项目Jcodemodel,官网地址:https://codemodel.java.net
eg:Activity中是怎样自动生成代码的:首先在Annotations的源码中找到EActivityHolder这个类,地址:E:\源码包\androidannotations-develop\AndroidAnnotations\androidannotations\src\main\java\org\androidannotations\holder下的EActivityHolder类
版权声明:本文为博主原创文章,未经博主允许不得转载。
- AndroidAnnotations开发框架在Eclipse中的搭建和使用以及框架实现的原理
- AndroidAnnotations开发框架在Eclipse中的搭建和使用以及框架实
- AndroidAnnotations开发框架在Eclipse中的搭建和使用以及框架实
- 【React Native 安卓开发】----侧边栏的实现DrawerLayoutAndroid以及第三方框架react-native-side-menu的使用【第六篇】
- Android annotations快速开发框架使用,Android Studio与Eclipse配置
- android开发环境建立以及开发工具的使用--怎样使用eclipse来开发android源码
- android开发环境建立以及开发工具的使用--怎样使用eclipse来开发android源码
- android游戏开发框架libgdx的使用(二十三)—使用Universal Tween Engine实现动画效果
- Android开发框架androidannotations使用初始
- Android中免Root实现Hook的Dexposed框架实现原理解析以及如何实现应用的热修复
- Android开发ViewPager和Fragment结合使用实现新闻类app基本框架(一)
- Android开发环境的搭建以及模拟器的使用
- Android使用Andbase快速开发框架实现常见侧滑栏和滑动标签页组合效果
- Android开发框架androidannotations使用初步
- Android 四大组件之(2)Service实现原理以及AIDL语言的使用详解
- Android开发之使用Eclipse开发工具实现Android平台JNI的开发
- Android开发,Android项目打jar包,以及Http请求整合框架的使用(后付文件和使用方法)
- android快速开发框架--快速实现 页面 加载中 加载失败 无数据等状态以及下拉刷新和自动加载
- 【转载】Java开发环境的搭建以及使用eclipse创建java项目
- android游戏开发框架libgdx的使用(一)--环境搭建