博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
android Support Annotations(注解支持)
阅读量:6880 次
发布时间:2019-06-26

本文共 853 字,大约阅读时间需要 2 分钟。

Android support library从19.1版本开始引入了一个新的注解库,它包含很多有用的元注解,你能用它们修饰你的代码,帮助你发现bug(编译报错提醒)

添加依赖:

implementation 'com.android.support:support-annotations:22.2.0'

使用注解:

@IntDef & @StringDef(替代 Java 中枚举的注解)

@Nullable & @NonNull(可修饰成员属性,方法参数和返回值)

@Nullable:注解的元素可以为 null。
@NonNull:注解的元素不可以为 null

@FloatRange & @IntRange(可修饰方法参数、方法返回值、成员属性)

是用于限定范围的注解。其中 @FloatRange 是限定 float 类型的,而 @IntRange 是限定 int 类型的
@IntRange(from= 1, to = 180)
private int intValue=2

@Size 注解的作用是限定长度的(可修饰成员属性,方法参数和返回值)

@RequiresPermission 该注解作用是表明方法所执行的内容需要权限

@ RequiresPermission( Manifest. permission. CALL_PHONE)
private void callPhone(String phone){
}

@CheckResult 注解是作用于方法上的,作用是检验有没有处理返回值。如果没有处理返回值则会报错

@UiThread:表示标记的方法或构造函数只应该在 Ui 线程上调用。如果标记的是一个类,那么该类中的所有方法都应是在 Ui 线程被调用

@WorkerThread:表示标记的方法只应该在工作线程上调用。如果标记的是一个类,那么该类中的所有方法都应是在一个工作线程上调用

转载于:https://blog.51cto.com/xuguohongai/2335851

你可能感兴趣的文章
我的友情链接
查看>>
memcached常用命令详解
查看>>
inotify + rsync 实时同步
查看>>
远程登录linux主机更换IP地址【非交互】
查看>>
Hyperledger Fabric初识与环境搭建
查看>>
漫谈培训之高效培训——让鸡肋变成鸡排
查看>>
使用Configuration Manager配置报表服务
查看>>
简述安装web.py框架及初次使用概述
查看>>
【Java每日一题】20170329
查看>>
iBatis for net 框架使用
查看>>
在Gluster上使用CTDB和Samba
查看>>
我的友情链接
查看>>
关于360浏览器及搜狗等浏览器兼容性解决方案
查看>>
关于直接继承HibernateTemplate类的错误结果
查看>>
《深入理解Android 卷III》推荐序
查看>>
java中Overload 和 Override 的区别
查看>>
利用pypy提高python脚本的执行速度及测试性能
查看>>
PHP扩展段错误调试
查看>>
移动应用跨平台框架江湖将现终结者?速来参拜来自Facebook的React Native
查看>>
在备份或还原期间启用或禁用备份校验和 (SQL Server)
查看>>