大年夜致说下步调:
(1)添加@AutoService(Processor.class)注解,这个注解会主动在指定路径下生成一个设备文件:
(4)生成代码块的重要逻辑是:遍历所有被@Test注解过的类,掏出注解内容及类名打印出来。
apt/build/classes/main/META-INF/services/javax.annotation.processing.Processor;
(2)添加@SupportedAnnotationTypes注解,设备这个类所要处理的注解类型。(传入String类型参数,格局为:包名+类名);
(3)采取javapoet书写代码构建逻辑,具体用法去这里看看;
5.在类上添加@Test注解,这里就用MainActivity来尝尝
6.rebuild工程,在app/build/generated/source/apt/debug路径下找到目标java文件。至此,大年夜功告成

TestClass代码如下:
- public class TestClass {
- public static void main(String[] args) {
- System.out.println("abc + MainActivity");
- }
- }
五、然而并没什么卵用?
确切,到此为止,我们确切是用了几十行代码去生成了一个5行代码的TestClass,这种操作来说看起来可以用4个字来形容:闲得蛋疼。
- public class TestClass {
- public static void main(String[] args) {
- System.out.println("A + ActivityA");
- System.out.println("B + ActivityB");
- System.out.println("C + ActivityC");
- System.out.println("D + ActivityD");
- System.out.println("abc + MainActivity");
- }
- }
恍然大年夜悟!本来,是这么玩的!这时刻,你是否已经感到到apt的魅力了呢?是的,它能帮你干掉落反复代码,让你杜绝掉落复制粘贴。
推荐阅读
Java关键字volatile的理解与正确使用 | 干货分享
其实面对膳绫擎的反例场景可以应用JDK1.5 java.util.concurrent.atomic中供给的原子包装类型来包管原子性操作 概述1、不合适应用volatile的场景(非原子性操作)Java说话中关键字 volatile 被>>>详细阅读
本文标题:Android Studio中使用apt
地址:http://www.17bianji.com/lsqh/35628.html
1/2 1

网友点评
精彩导读
科技快报
品牌展示