参考资料
前言
APT(Annotation Processing Tool
的简称),可以在代码编译期解析注解,并且生成新的 Java 文件,减少手动的代码输入。现在有很多主流库都用上了 APT,比如 Dagger2, ButterKnife, EventBus3 等,我们要紧跟潮流,与时俱进呐! (ง •̀_•́)ง
普及一下ButterKnife支持的注解
1 .使用最多的Bind.class
@Retention(CLASS) @Target(FIELD)
public @interface Bind {
/** View ID to which the field will be bound. */
int[] value();
}
2.BindBool BindColor BindDimen BindDrawable BindInt BindString,这些使用比较少。
比如:
@Bindbool(R.bool.is_tablet)
boolean isTable;
Element
源代码中的每一部分都是一个特定的元素类型,分别代表了包、类、方法等等,具体看 Demo。
package com.example;
public class Foo { // TypeElement
private int a; // VariableElement
private Foo other; // VariableElement
public Foo() {} // ExecuteableElement
public void setA( // ExecutableElement
int newA // TypeElement
)
}
这些 Element
元素,相当于 XML 中的 DOM 树,可以通过一个元素去访问它的父元素或者子元素。
element.getEnclosingElement();// 获取父元素
element.getEnclosedElements();// 获取子元素
网友评论