Android注解--初探( 二 )


@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
注意: 其中 @UiThread 和 @MainThread 是可替换用的,大部分应用中,这两个是一样的 。
如果一个类中的所有函数都在同一个线程内执行,可以在 类名称上面用这个注解即可 。
权限注解类型@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) { }结束漫漫开发之路,我们只是其中的一小部分……只有不断的学习、进阶,才是我们的出路!才跟得上时代的进步!
今年年初我花一个月的时间收录整理了一套知识体系,如果有想法深入的系统化的去学习的,可以私信我【安卓】,我会把我收录整理的资料都送给大家,帮助大家更快的进阶 。




推荐阅读