Java自定义注解在安卓开发中的简单运用

简介: 定义:注解(Annotation),也叫元数据。一种代码级别的说明。它是JDK1.5及以后版本引入的一个特性,与类、接口、枚举是在同一个层次。它可以声明在包、类、接口、枚举、字段、方法、局部变量、方法参数等的前面,用来对这些元素进行说明,注释。


定义:注解(Annotation),也叫元数据。一种代码级别的说明。它是JDK1.5及以后版本引入的一个特性,与类、接口、枚举是在同一个层次。它可以声明在包、类、接口、枚举、字段、方法、局部变量、方法参数等的前面,用来对这些元素进行说明,注释。

作用分类:

①编写文档:通过代码里标识的元数据生成文档【生成文档doc文档】

② 代码分析:通过代码里标识的元数据对代码进行分析【使用反射】

③编译检查:通过代码里标识的元数据让编译器能够实现基本的编译检查【Override】

java中有很多框架都用到了注解包括java的Api也是,想一些网络框架的@GTE,@POST,@PATH等等,java中的@Override注解是可以被继承的,它是可以在代码编译期告诉JVM类之间的继承关系,那到底注解是怎么实现的呢,首先你要定义一个注解,然后通过反射来实现你所要的功能。

Java的元注解

元注解就是注解的注解,听起来比较拗口,说白了就是说明注解的一些属性,比如当前注解是作用在类还是局部变量、实例变量、方法,注解的生存期、能否被子类继承、可否被文档化等等。

@Documented  表明当前注释可以文档化

@Inherited 注释当前的注解可以被元素的子类继承

@Target 注解的使用范围

1,CONSTRUCTOR 构造器 2, FIELD 实例变量  3,LOCAL_VARIABLE 局部变量 4,METHOD 方法 5,PACKAGE 包 6,PARAMETER 参数7,TYPE 类、接口或注解接口、枚举enum.

@Resention 声明注解的生命周期,1,源码级2,编译期3,运行期

注解

定义一个名为BindView的注解,使用@interface来声明这是一个注解,所有的注解内方法不能有参数,其他的均和普通的接口写法一致,可以定义默认返回值也就是default n的形式,如果注解内只有一个方法那么只能使用value作为方法名,这个注解方法可以通过反射来返回一个int类型的值,当然这要我们自己去实现。


通过反射找到控件

以上代码有一些反射基础的同学都可以看明白,而且的写了注释,最后是页面中的代码


Activity页面

在控件上面写上注释和它的ID值,在使用控件之前把上下文传递给FindViewByReflection这个类,让它通过反射来遍历所有用到了注释的变量,然后为它们赋值,也就是在运行过程中来findViewById()。

如有错误或遗漏,欢迎留言指出

相关文章
|
1月前
|
安全 Java Android开发
构建高效安卓应用:探究Kotlin与Java的性能对比
【2月更文挑战第22天】 在移动开发的世界中,性能优化一直是开发者们追求的关键目标。随着Kotlin在安卓开发中的普及,许多团队面临是否采用Kotlin替代Java的决策。本文将深入探讨Kotlin和Java在安卓平台上的性能差异,通过实证分析和基准测试,揭示两种语言在编译效率、运行时性能以及内存占用方面的表现。我们还将讨论Kotlin的一些高级特性如何为性能优化提供新的可能性。
65 0
|
1月前
|
Java Spring 容器
【Java】Spring如何扫描自定义的注解?
【Java】Spring如何扫描自定义的注解?
35 0
|
1月前
|
Java 数据库连接
hibernate注解实体类(Dept.java)
hibernate注解实体类(Dept.java)
13 1
|
1月前
|
Java 数据库连接
Hibernate中使用Criteria查询及注解——(Dept.java)
Hibernate中使用Criteria查询及注解——(Dept.java)
14 1
|
26天前
|
存储 SQL Java
【Java技术指南】「JPA编程专题」让你不再对JPA技术中的“持久化型注解”感到陌生了(二)
【Java技术指南】「JPA编程专题」让你不再对JPA技术中的“持久化型注解”感到陌生了
44 1
|
1天前
|
Java 测试技术 编译器
JAVA注解
JAVA注解
9 0
|
11天前
|
Java Android开发 C++
Kotlin vs Java:选择最佳语言进行安卓开发
【4月更文挑战第13天】Java曾是安卓开发的主流语言,但Kotlin的崛起改变了这一局面。Google在2017年支持Kotlin,引发两者优劣讨论。Java以其成熟稳定、强大生态和跨平台能力占优,但代码冗长、开发效率低和语言特性过时是短板。Kotlin则以简洁语法、空安全设计和高度兼容Java脱颖而出,但社区和生态系统仍在发展中,可能存在学习曲线和性能问题。选择语言应考虑项目需求、团队熟悉度、维护性、性能和生态系统。无论选择哪种,理解其差异并适应新技术至关重要。
|
12天前
|
Java
Java配置大揭秘:读取自定义配置文件的绝佳指南
Java配置大揭秘:读取自定义配置文件的绝佳指南
15 0
Java配置大揭秘:读取自定义配置文件的绝佳指南
|
16天前
|
NoSQL Java Redis
Java自定义线程池的使用
Java自定义线程池的使用
|
1月前
|
Java 数据库连接
hibernate注解实体类(Emp.java)
hibernate注解实体类(Emp.java)
14 1