Java的AnnotationProcessor(注解处理器),它能够在编译前对源码做处理。
我们可以通过使用AnnotationProcessor为带有特定注解的bean自动生成相应的序列化和反序列化实现,
用户只需要调用这些方法来完成序列化工作。
我们继承“AbstractProcessor”,在处理方法中找到有JsonType注解的bean来处理,代码如下:
@Override
public boolean process(Set<? extends TypeElement> set, RoundEnvironment roundEnvironment) {
Set<? extends Element> elements = roundEnvironment.getElementsAnnotatedWith(JsonType.class);
for (Element element : elements) {
if (element instanceof TypeElement) {
processTypeElement((TypeElement) element);
}
}
return false;
我们可以通过使用AnnotationProcessor为带有特定注解的bean自动生成相应的序列化和反序列化实现,
用户只需要调用这些方法来完成序列化工作。
我们继承“AbstractProcessor”,在处理方法中找到有JsonType注解的bean来处理,代码如下:
@Override
public boolean process(Set<? extends TypeElement> set, RoundEnvironment roundEnvironment) {
Set<? extends Element> elements = roundEnvironment.getElementsAnnotatedWith(JsonType.class);
for (Element element : elements) {
if (element instanceof TypeElement) {
processTypeElement((TypeElement) element);
}
}
return false;
}
需要注意的是,android里要在Module中才能引用到AnnotationProcessor,直接在app Module下是引用不到的,具体原因没有细究,有知道的童鞋可以留言告知。