javapoet:源文件自动生成框架

介 绍

  • Github:https://github.com/square/javapoet/

  • 资料:

    • javapoet——让你从重复无聊的代码中解放出来

    • 注解提高篇:自定义注解处理器(APT)

  • 配 置

    compile 'com.squareup:javapoet:1.9.0'

简单使用

1. 常用类

  • MethodSpec:代表一个方法或者构造函数
  • TypeSpec:代表一个类,接口或者枚举声明
  • FieldSpec:代表一个成员变量,一个字段声明
  • JavaFile:包含一个顶级类的Java文件

2. Demo

MethodSpec main = MethodSpec.methodBuilder("main")                                   // 方法名
                           .addModifiers(Modifier.PUBLIC, Modifier.STATIC)          // 修饰关键词
                           .addParameter(String[].class, "args")
                           .addStatement("$T.out.println($S)", System.class, "Hello World")
                           .build();
TypeSpec typeSpec = TypeSpec.classBuilder("HelloWorld")
                            .addModifiers(Modifier.PUBLIC)  // 修饰词
                            .addMethod(main)  // 将main方法添加到类里面
                            .build();
JavaFile javaFile = JavaFile.builder("dc.edu.ntu.permissiondispatcher.autogen", typeSpec).build();
javaFile.writeTo(new File("E:\\AndroidProject\\PermissionDispatcher\\app\\src\\main\\java"));
  • JavaFile 负责输出 Java 文件,因为 TypeSpec 已经设定了类名字,所以文件默认就会输出以该类命名的Java文件,如上面的例子会输出在包为 dc.edu.ntu.permissiondispatcher.autogen 的名为 HelloWorld.java 的文件。

你可能感兴趣的:(Android应用层)