介 紹
資料:
配 置
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
的文件。