有了它,再也不用写setContentView了

本文探讨了注解在Android开发中的应用,通过自定义注解和反射技术,实现不再需要手动调用setContentView来设置Activity的布局。介绍了元注解、自定义注解的创建及使用,同时对比了getMethod和getDeclaredMethod的区别,并简要讨论了IOC(控制反转)的概念和依赖注入的思想。
摘要由CSDN通过智能技术生成

前言

大家多多少少都用过或者看过注解(Annotation),比如最常见@Override、@Deprecated等。近年来一些比较流行的三方框架都使用的注解,像ButterKnife(渐渐被Databinding、ViewBinding取代,已经停止维护)、Dagger、Room等等。那为什么这些大牛都这么热衷于使用注解呢?原因肯定是注解的好处多多了。

 

注解的优点

  • 代码的检查,将一些错误暴露在运行期之前。
  • 减少重复的工作,提高工作效率。例如ButterKnife,可以减少我们的findViewById,设置点击事件等。
  • 降低代码的耦合。典型的就是Dagger。
  • 信息配置,运行时利用反射动态处理。

元注解(meta-annotation)

什么叫元注解,意思就是在JDK中定义好的注解。在JDK1.5中提供了4个元注解

@Target

表示该注解用于哪个位置,例如作用在类、方法等上面,详细的作用范围如下:

  • ElementType.TYPE 类、接口(包括注解类型)或枚举声明
  • ElementType.FIELD 字段声明
  • ElementType.METHOD 方法声明
  • ElementType.PARAMETER 方法的参数声明
  • ElementType.CONSTRUCTOR 类的构造法声明
  • ElementType.LOCAL_VARIABLE 局部变量声明
  • ElementType.ANNOTATION_TYPE 注解声明
  • ElementType.PACKAGE 包声明
  • ElementType.TYPE_PARAMETER JDK1.8新加的,类型参数声明
  • ElementType.TYPE_USE JDK1.8新加的,类型使用声明

@Retention

表示注解的生命周期

  • RetentionPolicy.SOURCE 源码阶段,在编译时会去除
  • RetentionPolicy.CLASS 注解会保存在class文件中&#x
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值