Android中的注解

本文详细介绍了Android中各种注解的使用,包括Nullness注解、资源类型注解、类型定义注解、线程注解、值范围注解、权限注解、重写函数注解、返回值注解、测试可见注解以及Keep注解,通过实例展示了如何在代码中正确使用这些注解,以提高代码质量与可维护性。
摘要由CSDN通过智能技术生成

本篇博客记录一下Android中注解的使用方式。


Android使用注解时,需要在build.gradle中导入对应的Library,例如:

dependencies {
    ...........
    implementation 'com.android.support:support-annotations:27.0.2'
}

support-annotations中定义了一系列元注解,
用来帮助开发者在编译期间发现可能存在的Bug。

下面我们记录一下不同类型的注解。

1、Nullness注解
此类注解主要作用于函数参数或者返回值,其中:
@Nullable: 标记参数或者返回值可以为空。
@NonNull: 标记参数或者返回值不可以为空。

当出现违反注解标记的代码时,Android Studio就会给出提示。
同时,利用Android Lint进行静态代码检查时,也会有错误提示。

具体的使用示例类似于:

public void onCreate(@Nullable Bundle savedInstanceState,
        @Nullable PersistableBundle persistentState) {
    onCreate(savedInstanceState);
}

2、资源类型注解
资源在Android中通常以整型值表示,并保存在R.java中。
这意味着一个需要传入String资源值的函数,如果传入drawable资源值,
不会出现任何编译期错误,只有在执行时才能发现问题。
此时,就可以考虑使用资源类型注解。

资源类型注解作用于函数参数、返回值及类的变量,例如:
@AnimatorRes:标记整形值为android.R.animator类型(属性动画相关)。
@AnimRes:标记整形值为android.R.anim类型(补间动画相关)。
@XmlRes:标记整形值为android.R.xml类型。
基本上所有资源类型,都有对应的注解,此处不一一列举。

具体的使用示例类似于:

@Override
public void setContentView(@LayoutRes int layoutResID) {
    getDelegate().setContentView(layoutResID);
}

3、类型定义注解
在Android开发中,整型值不止经常用来代表资源引用值,
而且经常用来代替枚举值。
@IntDef注解可用来创建一个整型类型定义的新注解,例如:

........
public static final int TEST_MODE_ONE = 1;
public static final int TEST_MODE_TWO = 2;

//设置注解的保留策略,此处表示仅在源文件中,不编译进.class文件
@Retention(RetentionPolicy.SOURCE)
//定义注
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值