美文网首页
Android-注解在Android中的应用

Android-注解在Android中的应用

作者: BlingBest | 来源:发表于2019-01-09 10:37 被阅读110次

Android 应用开发中对注解的使用达到了淋漓尽致的地步,无论是运行时注解,还是编译时注解,或是标准注解,都被广泛使用着,Android Support Library甚至专门推出一个注解主持库Support Annotation,各种开源库中也不乏注解的应用。

注解的定义


注解是java语言的特性之一,它是在源代码中插入的标签,这些便签在后面的编译或者运行过程中起到某种作用,每个注解都必须通过注解接口@interface进行声明,接口的方法对应着注解的元素,我们先来看看Android上著名的View注入框架ButterKnife的Bind注解的源码

@interface声明会创建一个实际的java接口,与其他任何接口一样,注解也将会编译成.class文件,注解接口中的元素声明实际上是方法声明,注解接口中的方法没有参数,没有throws语句,也不能使用泛型

标准注解


Java API中默认的注解我们称之为标准注解,它们定义在java.long,java.long.annotation和javax.annotation包中,按照使用场景不同,我们分为如下三类

编译相关注解

编译相关的注解是给编译器使用的,有以下几种

1 @Override :编译器会检查被注解的方法是否真的重载了一个来自父类的方法,如果没有,编译器将会给出错误提示。

2 @Deprecated:可以用来修饰任何不再鼓励使用或者已被弃用的属性和方法等

3 @SuppresWarnings:可用于除了包之外的其他声明项中,用来抑制某种类型的警告

4 @SafeVarargs:用于方法和构造函数,用来断言不定长参数可以安全使用

5 @Generated:一般是给代码生成工具使用,用来表达这段代码不是开发者手动编写的,而是工具生成的,被@Generated修饰的代码一般不建议手动修改它

6 @FuncationalInterface:用来修饰接口,表示对应的接口是带单个方法的函数式接口

资源相关注解

资源相关注解有四个,一般用在Java EE领域,Android应该不会使用到

元注解

元注解,就是用来定义和实现注解的注解,总共有如下五种:

1 @Target:这个注解的取值是一个ElementType类型的数组,用来指定注解所适用的对象范围,总共有十种不同的类型,根据定义的注解进行灵活的组合

同时支持多种类型的注解定义如下:

如果一个注解的定义没有使用@Target修饰,那么它可以用在除了TYPE_USE和TYPE_PARAMEYER之外的其他类型声明中

1 @Retention:用来指明注解的访问范围,也就是在什么级别保留注解,有如下三种选择:

 源码级注解:在定义注解接口时,使用@Retention(RetentionPolicy.SOURCE)修饰的注解,该类型的注解信息只会保留在.java源码里,源码经过编译后,注解信息会被丢弃,不会保留在编译好的.class文件中

 编译时注解:在定义注解接口时,使用@Retention(RetentionPolicy.CLASS)修饰的注解,该类型的注解信息会保留在.java源码里和.class文件里,在执行的时候,会被Java虚拟机丢弃,不会加载到虚拟机中

 运行时注解:在定义注解接口时,使用@Retention(RetentionPolicy,RUNTIME)修饰的注解,Java虚拟机在运行期也保留注解信息,可以通过反射机制读取注解的信息

2 @Documented :表示被修饰的注解应该被包含在被注解项的文档中

3 @Inherited:表示该注解可以被子类继承的

4 @Repeatable :表示这个注解可以在同一个项上面应用多次,不够这个注解是在Java8中才引入的

相关文章

  • Android-注解在Android中的应用

    Android 应用开发中对注解的使用达到了淋漓尽致的地步,无论是运行时注解,还是编译时注解,或是标准注解,都被广...

  • Android-自定义注解-反射基础

    Let’s go 上一章Android-自定义注解-注解基础-自定义注解我们基本上入门了这个注解的基本的东西,具体...

  • Android-注解

    java注解在 Android 中有两种应用方式,一种方式是基于反射的,在程序的运行期间获取类信息进行反射调用;另...

  • Android-注解

    1.解释: 注解只是一个标识(标记),没有具体的功能代码。 2.通过注解和反射实现findViewById 使用:

  • Android注解全面解析

    一、注解知识体系 二、基础知识 必备基础知识:了解注解 三、注解在Android中的应用 1. 利用注解代替枚举 ...

  • Android Studio no debuggable pro

    碰到Android Studio 无法显示手机调试的应用如下操作,打开ADB调试Tools->Android->E...

  • 通过ADM和MAT分析内存泄漏

    通过ADM分析内存泄漏 1.打开ADM,在Android studio中的Tools->Android->Andr...

  • Android Studio 视图结构

    1、Tools->Android->Layout Inspector2、Tools->Android->Andro...

  • Android-读取已安装应用列表

    title: Android-读取已安装应用列表date: 2019-12-02 11:54:53categori...

  • Java 注解及其在 Android 中的应用

    一般的,注解在 Android 中有两种应用方式,一种方式是基于反射的,即在程序的运行期间获取类信息进行反射调用;...

网友评论

      本文标题:Android-注解在Android中的应用

      本文链接:https://www.haomeiwen.com/subject/dglwrqtx.html