Android注解处理器APT技术简介

  • APT是什么
    • 例子
    • APT有什么用 (好处)
    • APT原理 (为什么)
    • APT实践 (怎么做)
    • 参考

APT是什么

APT全称“Annotation Processing Tool”,即注解处理器,是javac的一种处理注释的工具,它对源代码文件进行检测找出其中的Annotation,并根据注解自动生成代码,帮助开发者减少了很多重复代码的编写。

例子

很多著名的框架用到APT的思想,通过注解编译期间自动生成代码,简化使用

  1. Butterknife
  2. Dragger
  3. Room

另外,还有是运行时注解,例如

  1. Retrofit

APT有什么用 (好处)

可以在编译时生成额外的.java文件,在程序运行的时候调用相关方法,可以达到减少重复代码的效果。它的好处:提高开发效率,使得项目更容易维护和扩展,同时几乎不影响性能。

APT原理 (为什么)

通过APT(Annotation Processing Tool)技术,即注解处理器,在编译时扫描并处理注解,注解处理器最终生成处理注解逻辑的.java文件。

APT实践 (怎么做)

  1. 创建自定义注解@interface;
  2. 创建并注册注解处理器AbstractProcesso,生成处理注解逻辑的.java文件;
  3. 封装一个供外部调用的API,用的是反射技术,具体来说就是调用第二步中生成的代码中的方法;
  4. 在业务代码中使用,比如Activity、Fragment、Adapter

参考

  1. Android编译时注解–入门篇(AbstractProcessor、APT)
  2. 你必须知道的APT、annotationProcessor、android-apt、Provided、自定义注解
  3. Android 注解系列之APT工具
  4. Android 利用 APT 技术在编译期生成代码

Android注解处理器APT技术简介相关推荐

  1. 秒懂Android注解处理器(Android Annotation Processor)

    [版权申明]非商业目的可自由转载 博文地址:https://blog.csdn.net/ShuSheng0007/article/details/90734159 出自:shusheng007 文章目 ...

  2. 【错误记录】Android 注解处理器报错 ( 非法的类文件开始 , 请删除该文件或确保该文件位于正确的类路径子目录中。 )

    文章目录 一.报错信息 二.解决方案 一.报错信息 Android APT , 使用 注解处理器 生成 Java 代码 , 报如下错误 ; 错误: 无法访问MainActivity_ViewBinde ...

  3. Android 注解处理器使用攻略

    上一篇写了JavaPoet使用攻略,了解了JavaPoet用法.那么我们就可以结合今天的Annotation Processing Tool(APT)来自定义注解处理器. 注解处理器简单解释就是收集我 ...

  4. java注解与APT技术

    1,基本概念 什么是注解? 注解(Annotation),也叫元数据.一种代码级别的说明.它是JDK1.5及以后版本引入的一个特性,与类.接口.枚举是在同一个层次.它可以声明在包.类.字段.方法.局部 ...

  5. Android 注解及apt使用

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/lib739449500/article/details/98482907 1.什么是apt 什么是a ...

  6. 注解和注解处理器APT

    目录 背景: 常见注解 元注解 自定义注解 1.创建自定义注解 2. 创建注解处理器 3. 注册apt 背景: 项目中xml是一种松耦合的配置文件,但是随着项目的越来越大,xml文件也会越来越复杂, ...

  7. Android 自定义注解处理器详解

    文章目录 AbstractProcessor 方法详细信息 ProcessingEnvironment 方法详细信息 1 新建 Java Library 1.1 新建 1.2 确定依赖关系 2 创建自 ...

  8. Java进阶_3 注解、APT

    Java进阶_3 注解.APT 一.注解的概念 注解(Annotation) ​ 也叫元数据.一种代码级别的说明.它是JDK1.5及以后版本引入的一个特性,与类.接口.枚举是在同一个层次.它可以声明在 ...

  9. 边端云处理器系列技术参数

    边端云处理器系列技术参数 锐捷RG-CT7800系列云终端 基于兆芯开先® KX-6000系列处理器 特点: • 小身材 • 大能量 • 2.4L 机箱容量 • 强劲计算性能 简介: • 8核2.7G ...

最新文章

  1. 在Spring中采用声明式方法对Hibernate和JDBC进行统一的事务配置(AOP)
  2. 一次失败的机巡平台对接经历分享
  3. 成功解决运行tensorflow时ModuleNotFoundError: No module named ‘numpy.core._multiarray_umath‘
  4. java libpcap,Linux下编译安装libpcap
  5. interface-C#接口-统一的标准
  6. 哈达玛变换的应用SATD、SAD等匹配算法
  7. maven学习(一)
  8. Java8 stream用法-备忘录
  9. lintcode :reverse integer 颠倒整数
  10. HadoopLearning
  11. 列表左右移动 2017-03-23
  12. CRM管理系统源码PHP开源系统源码
  13. 波浪动力滑翔机的综述
  14. yarn中MR作业报错Java heap space
  15. NEO 交易所钱包开发之离线签名【区块链】JAVA
  16. 关于yolov3.weights文件下载地址的分享
  17. 2021黑马web前端
  18. Vue的大坑 input手动赋值后无法修改问题
  19. windows 下 安装python以及scrapy 环境
  20. python实际应用

热门文章

  1. 趋势安全大师 for Mac(杀毒软件) v2.3.0中文破解版
  2. UNIX下执行文件的减肥工具strip[转载]
  3. Excel vba使用正则表达式处理联通官网导出的通话详单
  4. FASTJSON性能优化
  5. c语言if语句教学设计,c语言if语句教学设计
  6. Android JNI 之 JNIEnv 解析
  7. 【MSP430】如何用USB转TTL 串口下载
  8. 侠客风云传未能连接到服务器,《侠客风云传:前传》无法启动解决方法
  9. 华三交换机irf堆叠配置方法
  10. 港版-已过保 MacBookPro因显示屏涂层脱落去天才吧免费换屏过程