上一篇笔记简单讲了下如何使用注解框架AndroidAnnotations,接着学习了下这个框架的工作原理,所以继续写篇简短的笔记。
AndroidAnnotations的工作原理主要是:
- java注解处理,包括 :
1,用反射来处理注解,刚好前几天学习了下java注解相关知识,又加深了印象,
2,在编译时处理注解,主要用到了AbstracProcessor工具类及javax.lang.model.element包。javax.lang.model.element用于 Java 编程语言的模型元素的接口。 当在注释处理的上下文中使用时,必须返回要表示的元素的准确模型。使用的API文档可参考:http://www.766.com/doc/javax/lang/model/element/class-use/Element.html
- 代码生成,用到了Jcodemodel,CodeModel 是用于生成 Java 代码的 Java 库,它提供了一种通过 Java 程序来生成 Java 程序的方法。其官网是:https://codemodel.java.net/
- 通过上面两种方式的处理,就生成了对应带下线的类及对带@符号的各种注解的对应处理,我们可能通过项目中生成的代码去进行分析 。
- 在清单文件AndroidManifest.xml中要注册同名的Activity_等组件
- 在我们代码中定义的各种控件不能用private修饰符
- 我们代码中带@注解的方法也不能用private作用方法的修改符
最后补充的就是AndroidAnnotations框架相对与其注解框架优势:注解全面,使用方便,效率高。