Android APT 自动生成代码实践

Android APT 自动生成代码实践

前言:都9102年了,我才接触到apt的东西,之前自己压根儿没往那儿想。一直都能见到作用在onCreate()方法上的@Override注解,一直以为是一种约定俗成的东西。直到遇到EventBus,也注意到了它的注解,仅仅觉得:呀,他也有注解,约定了这么这么用,真方便!
直到最近在努力提升技术栈时,才发现:注解是一门技术,而不仅仅是一个约定。可以提高编码效率的东西必须学习!

最近实践的时候参考了网上很多文章,参考着然后一句句代码敲下来,结果我的项目始终生成不了Java文件。然后忙了半天查找问题:不是androidx的问题,依赖的也都是同样的auto-service,然后把别人项目拉下来跑也没问题,我自己在别人项目上改也没问题,怎么就自己的工程不行呢?终于,在忙活了半天依旧找不到头脑后,我下班回家睡觉了。

第二天醒来,我的脑子里就一个想法:别是gradle升级的问题!!!!!然后就直接搜到了Android Gradle由4.x升级至5.0导致Apt项目失效 这篇文章!想解决很简单 添加 一个annotationProcessor "com.google.auto.service:auto-service:1.0-xxxxx"就好,注意是 annotationProcessor

接下来就把整个入门过程记录下来吧,有坑的地方会重点标出。本篇文章不需要你多高的技术,只要你是Android入门级就可以操作。

1、工程准备

新建工程,例如我这里工程名为APT。在工程中创建两个 java 的module,一个annotation用于声明注解,就是存放类似于@Override的这些东西。一个processor用于处理声明的注解。

1.1、创建annotation模块

点击 File -> New Module 在弹出的对话框中选择 Java Library,然后输入模块名annotation即可。然后我们新建注解类MyAnnotation
如下所示(所有模块都包含了):
在这里插入图片描述

然后我们在MyAnnotation中编写如下代码:

package com.test.annotation;


import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@Retention(RetentionPolicy.CLASS)       //表示编译时的注解
@Target
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值