日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

【Android APT】注解处理器 ( 配置注解依赖、支持的注解类型、Java 版本支持 )

發(fā)布時間:2025/6/17 Android 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Android APT】注解处理器 ( 配置注解依赖、支持的注解类型、Java 版本支持 ) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

文章目錄

  • 一、注解處理器 依賴 編譯時注解
  • 二、設置 注解處理器 支持的注解類型
  • 三、設置 注解處理器 支持的 Java 版本
  • 四、博客資源


Android APT 學習進階路徑 : 推薦按照順序閱讀 , 從零基礎到開發(fā)簡易 ButterKnife 注解框架的學習路徑 ;

  • 【Java 注解】注解簡介及作用
  • 【Java 注解】自定義注解 ( 注解屬性定義與賦值 )
  • 【Java 注解】自定義注解 ( 元注解 )
  • 【Java 注解】自定義注解 ( 注解解析 )
  • 【Java 注解】自定義注解 ( 使用注解實現(xiàn)簡單測試框架 )
  • 【Android APT】編譯時技術 ( ButterKnife 原理分析 )
  • 【Android APT】編譯時技術 ( 編譯時注解 和 注解處理器 依賴庫 )
  • 【Android APT】編譯時技術 ( 開發(fā)編譯時注解 )
  • 【Android APT】注解處理器 ( 注解標注 與 初始化方法 )

上一篇博客 【Android APT】注解處理器 ( 注解標注 與 初始化方法 ) 中 開始開發(fā) AbstractProcessor 注解處理器類 , 使用 com.google.auto.service:auto-service:1.0-rc4 Google 服務庫提供的 @AutoService(Processor.class) 注解標注該 注解處理器 類 , 簡單介紹了 init 方法 , 以及在該方法中獲取 Filer 和 Messager 工具類 ;





一、注解處理器 依賴 編譯時注解



注解處理器 需要處理 編譯時注解 , 因此必須能夠拿到 編譯時注解 的引用 , 注解處理器 Module 需要依賴 編譯時注解 Module ;

在 注解處理器 Module 的 build.gradle 的 dependencies 依賴中添加 implementation project(path: ':annotation') 依賴 ;


plugins {id 'java-library' }java {sourceCompatibility = JavaVersion.VERSION_1_7targetCompatibility = JavaVersion.VERSION_1_7 }dependencies {implementation fileTree(dir: 'libs', include: ['*.jar'])implementation project(path: ':annotation')annotationProcessor 'com.google.auto.service:auto-service:1.0-rc4'compileOnly 'com.google.auto.service:auto-service:1.0-rc3' }



二、設置 注解處理器 支持的注解類型



注解處理器 抽象類 AbstractProcessor 中的 getSupportedAnnotationTypes 方法 , 用于聲明 注解處理器 要處理的注解類型 ;

@AutoService(Processor.class) public class Compiler extends AbstractProcessor {@Overridepublic Set<String> getSupportedAnnotationTypes() {return super.getSupportedAnnotationTypes();} }

該方法的返回值是 Set<String> , 因此可以設置多個處理的 注解類型 ;

在 getSupportedAnnotationTypes 方法中構造一個 Set<String> 集合 , 向其中放置要解析注解的全類名字符串 ;

@AutoService(Processor.class) public class Compiler extends AbstractProcessor {/*** 聲明 注解處理器 要處理的注解類型* @return*/@Overridepublic Set<String> getSupportedAnnotationTypes() {Set<String> supportedAnnotationTypes = new HashSet<String>();// 將 BindView 全類名 kim.hsl.annotation.BinndView 放到 Set 集合中supportedAnnotationTypes.add(BindView.class.getCanonicalName());return supportedAnnotationTypes;} }

設置 注解處理器 支持的注解類型 , 也可以使用 注解 的方式進行聲明 ;

使用 @SupportedAnnotationTypes 注解 , 也可以聲明 注解處理器 支持的注解類型 ;

@Documented @Target(TYPE) @Retention(RUNTIME) public @interface SupportedAnnotationTypes {/*** Returns the names of the supported annotation types.* @return the names of the supported annotation types*/String [] value(); }

注意 : 兩種方式二選一 , 不能同時存在 ;





三、設置 注解處理器 支持的 Java 版本



注解處理器 抽象類 AbstractProcessor 中的 getSupportedSourceVersion 方法 , 用于聲明 該注解處理器 支持的 Java 版本 ;

一般情況下要支持到最新的 Java 版本 ,

通過調用 ProcessingEnvironment 類的 getSourceVersion 方法 , 可以獲取最新的 Java 版本 ;

@AutoService(Processor.class) public class Compiler extends AbstractProcessor {/*** 聲明支持的 JDK 版本* @return*/@Overridepublic SourceVersion getSupportedSourceVersion() {// 通過 ProcessingEnvironment 類獲取最新的 Java 版本并返回return processingEnv.getSourceVersion();} }

設置 注解處理器 支持的 Java 語言版本 , 也可以使用 注解 的方式進行聲明 ;

使用 @SupportedSourceVersion 注解 , 也可以聲明 注解處理器 支持的 Java 語言版本 ;

@Documented @Target(TYPE) @Retention(RUNTIME) public @interface SupportedSourceVersion {/*** Returns the latest supported source version.* @return the latest supported source version*/SourceVersion value(); }

注意 : 兩種方式二選一 , 不能同時存在 ;





四、博客資源



博客源碼 :

  • GitHub : https://github.com/han1202012/APT

  • CSDN :

總結

以上是生活随笔為你收集整理的【Android APT】注解处理器 ( 配置注解依赖、支持的注解类型、Java 版本支持 )的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲春色在线观看 | av网站免费看 | 中文字幕日本一区 | 69视频网站| www久久久天天com | 成年人在线免费观看网站 | 99re免费视频 | 国产精品久久午夜夜伦鲁鲁 | 福利在线电影 | 欧美美女性视频 | 在线观看污 | 91免费小视频 | 日韩欧美在线一区 | 爱爱视频免费看 | 日韩精品一区二区三区在线视频 | 成年人av在线播放 | 欧美性生活精品 | 久热久操 | 91亚洲成人 | 在线播放不卡av | 国内精品久久久久久久久 | 欧美一区二区三区观看 | 爱爱网站免费 | 无码免费一区二区三区 | 免费观看一级黄色片 | 成人v片 | 欧美精品一区二区三区在线 | 国产精品美女www | av制服丝袜在线 | 四虎成人网 | 免费在线观看日韩 | 中文字幕人妻互换av久久 | 日韩三级一区二区三区 | 成人性视频网站 | 久99精品 | 不卡的av在线免费观看 | 欧美一区免费 | 亚洲av综合永久无码精品天堂 | 亚洲图片视频在线 | 乱人伦av | 奇米综合 | 爱爱综合 | 2019中文在线观看 | 亚洲va在线∨a天堂va欧美va | 99国产精品国产精品九九 | 香蕉国产999 | a天堂在线观看视频 | 福利视频免费观看 | 亚洲不卡网| 一区二区三区视频播放 | 亚洲超碰在线 | 熟妇一区二区三区 | 午夜视频在线观看一区二区 | 91一区二区视频 | 伊人网国产 | 国产成人免费 | 青青99| 日本伊人网 | www.超碰在线观看 | 亚洲一区免费在线 | 国产伦理片在线观看 | 日韩国产专区 | 天堂av电影在线观看 | av小说在线 | 91色网站 | 久久天天躁狠狠躁夜夜av | 久久免费视频一区二区 | 久久久久久视 | 国产人伦精品一区二区三区 | 日韩毛片无码永久免费看 | 欧美a级大片 | 欧美在线播放一区 | av中文字幕免费观看 | 亚洲精品视频一区二区三区 | 亚洲中文一区二区 | 娇小的粉嫩xxx极品 国产精品人人爽人人爽 | 国产精品久久久久久久免费 | 日本少妇一区二区三区 | 欧美日韩一区二区在线播放 | 国产一区二区三区影院 | 亚洲伦理一区二区三区 | 淫僧荡尼巨乳(h)小说 | 国产在线视频91 | 亚洲激情自拍 | 脱女学生小内内摸了高潮 | 欧美激情xxxxx | 精品一区二区久久久久久按摩 | 欧美天堂一区 | 亚洲精品视频一区 | 秋霞免费av| 色哟哟在线播放 | 成人激情站 | 男人在线网站 | 久久综合久久网 | 十八岁世界在线观看高清免费韩剧 | 波多野结av衣东京热无码专区 | 黄色777 | 国产乱码一区二区三区在线观看 | 日韩欧美中字 |