首先我们说说java元注解
@Target(注解的作用目标) @Retention(注解的保留位置)@Ducument(说明该注解将包含在javadoc中) @Inherited(说明子类可以继承父类中的该注解)
1, @Target(ElmentType.Type) //同下
ElementTypeTYPE 类、接口(包括注释类型)或枚举声明
ElementTypeFIELD 字段声明(包括枚举常量)
ElementTypeMETHOD 方法声明
ElementTypePARAMETER 参数声明
ElementTypeCONSTRUCTOR 构造方法声明
ElementTypeLOCAL_VARIABLE 局部变量声明
ElementTypeANNOTATION_TYPE 注释类型声明
ElementTypePACKAGE 包声明
2,@Retention(RetentionPolicy.SOURCE)//注解仅存在于源码中,在class字节码文件中不包含
@Retention(RetentionPolicy.CLASS)//注解class会字节码中,运行时无法获取,(默认策略)
@Retention(RetentionPolicy.RUNTIME)//注解会在class字节码中存在,运行时可以通过反射获取
框架实现
得进入正题了,Android IOC框架,其实主要就是帮大家注入所有的控件,布局文件什么的。如果你用过xUtils,afinal类的框架,你肯定不陌生~
ContentView
view
onClick
onlongclick
注入ContentView
注入View
注入事件
EventBase
@Target(ElementType.ANNOTATION_TYPE) @Retention