1.AbstractProcessor类介绍
在eclipse上能够利用注释处理高效率的处理代码,同样也能用于Android studio上。
javax.annotation.processing.AbstractProcessor
是一个抽象类,位于javax.annotation.processing包,无关ide。通过实现
public abstract boolean process(Set<? extends TypeElement> annotations, RoundEnvironment roundEnv)
处理源码上所标注注释。
2.注释的分类
按照功能,注释分为3类:
a.@Retention(RetentionPolicy.SOURCE),不需要记录在类文件
b.@Retention(RetentionPolicy.CLASS) ,需要记录在类文件,但在运行中并不需要保留
c.@Retention(RetentionPolicy.RUNTIME) ,需要记录在类文件,并在运行中需要保留
c类能够在运行时通过反射方式调用处理,灵活应用,但需要牺牲一定的性能,和不能够进行混淆丢失原有信息,缺乏安全性。
AbstractProcessor通过处理注释并不会影响性能,也完全可以正常混淆。
3.build.gradle配置
在模块dependencies中,添加provided 注释库(包含所有的@interface类),添加annotationProcessor 注释处理库(包含AbstractProcessor类)
一个完整的模块build.gradle例子
apply plugin: 'com.android.application' android { compileSdkVersion 26 buildToolsVersion "26.0.0" defaultConfig { applicationId "cn.zhg.test.annotations" minSdkVersion 21 targetSdkVersion 26 versionCode 1 versionName "0.9.0" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } dependencies { implementation fileTree(include: ['*.jar'], dir: 'libs') provided project(':libannotations') annotationProcessor project(':processor') }项目目录结构为
4.注释类库
新建libannotations java库模块,如这里创建一个InjectParcel注释用于,将实体类自动实现Parcel,
package cn.zhg.test.annotations; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; @Retention(RetentionPolicy.CLASS) @Target({ ElementType.TYPE}) public @interface InjectParcel { /** * 指定生成类名 * @return */ String value() default ""; }@Target({ ElementType.TYPE})指定只能用于类上,@Retention(RetentionPolicy.CLASS) 不需要在运行时使用
相关推荐
基于Android studio的2048游戏设计源代码.zip,含有代码注释,满分大作业资源,新手也可看懂,期末大作业、课程设计、高分必看,下载下来,简单部署,就可以使用。该项目可以作为课程设计期末大作业使用,该系统功能...
8. **插件支持**:Android Studio支持丰富的第三方插件,如Butter Knife for注解绑定,Android Debug Database用于实时查看数据库内容,以及Instant Run快速部署应用等。 9. **Kotlin支持**:自Android Studio 3.0...
本资源是一个“Android Studio插件集合”,它包含了多个常用且不易找到的插件,旨在帮助开发者更加高效地进行Android应用开发。 首先,我们来了解一下Android Studio插件的重要性。这些插件可以自动化常见的任务,...
在Android Studio中开发一个记账本应用是一项常见的实践任务,它可以帮助用户跟踪和管理个人财务。这个基于Android Studio的记账本项目具有详尽的报告功能,为用户提供了一种直观的方式来了解自己的收支情况。让我们...
在移动开发领域,Android Studio是Google推出的一款强大的集成开发环境(IDE),专为Android应用开发设计。利用Android Studio,开发者可以高效地构建高质量、高性能的应用程序。本教程将详细介绍如何使用Android ...
Android Studio是Google为Android开发者提供的集成开发环境(IDE),它提供了全面的工具集,用于构建、调试和发布Android应用程序。本话题聚焦于如何将官方的Launcher3源代码导入Android Studio,并进行编译,以便...
通过这个简单的数字时钟项目,开发者可以学习到Android应用开发的基础知识,包括线程通信、UI设计、时间处理以及代码组织和注释的重要性。这个项目不仅是一个实用的小应用,也是进一步深入Android开发的良好起点。
在Android应用开发中,创建一个简单的购物商城界面是常见的需求,尤其对于初学者而言,这是一个很好的实践项目。本文将详细讲解如何使用Android Studio和ListView组件来实现这样的界面。首先,我们要理解ListView的...
【AndroidStudio理财小助手】是一款基于Android Studio开发的安卓应用,旨在帮助用户管理个人财务,实现简单的记账功能。这款应用作为一个安卓期末大作业,展示了开发者在移动应用开发上的技能和对用户需求的理解。 ...
在本项目中,我们主要探讨如何使用Android Studio开发一个简易的记账应用程序。这个项目名为"OneAccount",它提供了一个基础的框架,帮助初学者理解Android应用开发的基本流程和技术。 首先,Android Studio是...
【标题】"仿微信图片选择器(Android Studio版)"是一个专门为Android应用开发者设计的开源项目,它旨在帮助开发者在自己的应用中实现类似微信的图片选择功能。这个项目基于Android Studio开发,使得开发者可以轻松...
总的来说,基于Android Studio的2048游戏设计涉及到了Android应用开发的基础知识,如UI设计、事件处理、数据结构和算法。通过这个项目,开发者不仅可以提升编程技能,还能深入理解游戏开发的流程。提供的源代码和...
【标题】"仿微信 Android Studio" 是一个专为Android开发者设计的项目,旨在帮助他们...通过学习和实践这个项目,开发者不仅能掌握基本的UI设计,还能了解到如何组织和注释代码,以及如何构建复杂的Android应用程序。
在本项目中,我们将探讨如何使用Android Studio来创建一个简易的记账应用程序。...通过这个项目,开发者不仅能掌握Android应用开发的基本流程,还能深入理解数据存储、用户界面设计以及事件处理等多个关键环节。
在本项目中,我们主要探讨的是一个基于Android Studio开发的旅游记录与分享应用程序。这个APP的设计目的是为了帮助用户轻松地规划他们的旅行路线,记录旅行经历,并与其他旅行爱好者分享这些珍贵的时刻。以下将详细...
这款名为"简单的 Android 浏览器源码,基于 Android Studio.zip"的压缩包提供了一个基础的安卓浏览器应用源代码,适合初学者或者希望快速理解Android浏览器实现的开发者。该源码仅包含大约400行代码,注释详尽,便于...
### AndroidStudio工程清理工具(批处理)知识点解析 #### 一、工具概述 **AndroidStudioCleanKit**是一款专为Android Studio开发环境设计的项目清理工具,主要功能是帮助开发者高效地清理项目中的冗余文件,如...
App permission annotations Android Studio 现在支持内嵌代码的注释,以帮助您在 Android M 管理 app permissions。了解更多 code annotations. Data Binding Support 新的数据 brinding 特性,可让您通过将您的...
本主题主要围绕"androidStudio测试代码"展开,将详细介绍如何在Android Studio中进行代码测试,以及相关的测试技术和实践。 一、Android Studio与测试框架 Android Studio内置了JUnit和Espresso等测试框架,使得...
Android Studio 是Google官方推出的Android应用开发集成环境,它提供了丰富的功能和工具,使得开发者能够高效地构建、测试和调试应用程序。在Android Studio中,插件是扩展其功能的重要方式,可以提升开发效率并简化...