@ColorRes 表明该参数、变量或者函数返回值应该是一个 color 类型的资源,而不是颜色值 。注意和 ColorInt 区别
@DimenRes 表明该参数、变量或者函数返回值应该是一个 dimension 类型的资源
@DrawableRes 表明该参数、变量或者函数返回值应该是一个 drawable 类型的资源
@FractionRes 表明该参数、变量或者函数返回值应该是一个 fraction 类型的资源
@IdRes 表明该参数、变量或者函数返回值应该是一个资源的 ID 类型
@IntegerRes 表明该参数、变量或者函数返回值应该是一个整数类型的资源
@LayoutRes 表明该参数、变量或者函数返回值应该是一个 layout 布局文件类型的资源
@MenuRes 表明该参数、变量或者函数返回值应该是一个 menu 类型的资源
@PluralsRes 表明该参数、变量或者函数返回值应该是一个 plurals 类型的资源
@RawRes 表明该参数、变量或者函数返回值应该是一个 raw 类型的资源
@StringRes 表明该参数、变量或者函数返回值应该是一个字符串类型的资源
@StyleableRes 表明该参数、变量或者函数返回值应该是一个 styleable 类型的资源
@StyleRes 表明该参数、变量或者函数返回值应该是一个 style 类型的资源
@TransitionRes 表明该参数、变量或者函数返回值应该是一个 transition 类型的资源
@XmlRes 表明该参数、变量或者函数返回值应该是一个 XML 类型的资源
线程注解类型线程注解用来检测一个函数是否在指定类型的线程中执行 。有四个:
- @UiThread
- @MainThread
- @WorkerThread
- @BinderThread
如果一个类中的所有函数都在同一个线程内执行,可以在 类名称上面用这个注解即可 。
权限注解类型@RequiresPermission 用来表明该函数执行需要一个或者多个权限,如果你没有声明这些权限,则会给出警告 。例如:
@RequiresPermission(Manifest.permission.SET_WALLPAPER) public abstract void setWallpaper(Bitmap bitmap) throws IOException; @RequiresPermission(allOf = { Manifest.permission.READ_HISTORY_BOOKMARKS, Manifest.permission.WRITE_HISTORY_BOOKMARKS}) public static final void updateVisitedHistory(ContentResolver cr, String url, boolean real) { } @RequiresPermission(anyOf = { Manifest.permission.READ_HISTORY_BOOKMARKS, Manifest.permission.WRITE_HISTORY_BOOKMARKS}) public static final void updateHistory(ContentResolver cr, String url, boolean real) { }结束漫漫开发之路,我们只是其中的一小部分……只有不断的学习、进阶,才是我们的出路!才跟得上时代的进步!
今年年初我花一个月的时间收录整理了一套知识体系,如果有想法深入的系统化的去学习的,可以私信我【安卓】,我会把我收录整理的资料都送给大家,帮助大家更快的进阶 。
推荐阅读
- 关于Android系统启动,你需要知道这些步骤
- 有彩蛋 手机远程控制手机,iOS、Android 互连
- 不得不装的21款,Android Studio插件
- 利用 Android Keystore系统 加密存储和解密敏感信息
- JAVA的反射和注解
- 彻底清理手机存储空间的方法
- 一款针对Android设备的高效缓存和垃圾清理工具
- Android开发必备的“80”个开源库,分类整理
- 手把手教你将数据从Android移动到iPhone步骤与技巧
- Android系统从第一代到现在的第十一代,都带来了哪些变化
