美文网首页
注解简介

注解简介

作者: 3Q竹林 | 来源:发表于2018-05-29 09:47 被阅读15次
注解的作用

向 Lint 之类的代码检查工具提供提示,帮助检测这些更细微的代码问题。您可以将注解作为元数据标记附加至变量、参数和返回值,用于检查方法返回值、传递的参数以及本地变量和字段。如果与代码检查工具搭配使用,注解可以帮助您检测问题,例如 null 指针异常和资源类型冲突。Android 通过注解支持库支持各种注解。我们可以通过 android.support.annotation 软件包获取该库。

注解解析
  1. 资源注解: @StringRes、@DrawableRes、@DimenRes、@ColorRes、@ColorInt、@InterpolatorRes、@AnyRes,以检查资源参数是否包含 R.string 引用;

  2. 线程注解:@MainThread、@UiThread、@WorkerThread、@BinderThread、@AnyThread;

  3. 值约束注解:@IntRange、@FloatRange 和 @Size(例如:public void setAlpha(@IntRange(from=0,to=255) int alpha) { … },@Size(min=2));

  4. 权限注解:
    @RequiresPermission(Manifest.permission.SET_WALLPAPER)
    @RequiresPermission(allOf = {Manifest.permission.READ_EXTERNAL_STORAGE,Manifest.permission.WRITE_EXTERNAL_STORAGE});
    @RequiresPermission.Read(@RequiresPermission(READ_HISTORY_BOOKMARKS))
    @RequiresPermission.Write(@RequiresPermission(WRITE_HISTORY_BOOKMARKS));

  5. 间接权限:public abstract void startActivity(@RequiresPermission Intent intent, @Nullable Bundle) {...};

  6. 返回值注解:
    @CheckResult(suggest="#enforcePermission(String,int,int,String)")
    public abstract int checkPermission(@NonNull String permission, int pid, int uid);
    该注解可以验证实际使用的是方法的结果还是返回值,它可以确保实际引用方法的返回值。它还会将 enforcePermission() 方法指定为要向开发者建议的替换方法;

  7. CallSuper 注解:以确保任何替换方法实现都会调用父类的该方法;如:super.onCreate();

  8. @IntDef 和 @StringDef 注解,以便能够创建整型和字符串集的枚举注解来验证其他类型的代码引用。

  9. 代码可访问性注解:@VisibleForTesting 和 @Keep 注解可以表示方法、类或字段的可访问性,
    @VisibleForTesting 注解指示一个代码块的可见性是否高于让代码变得可测试所需要的水平。
    @Keep 注解可以确保如果在构建时缩减代码,标注的元素不会移除。它一般会添加到通过反射访问的方法和类中,以阻止编译器将代码视为未使用。

参考网址:https://developer.android.google.cn/studio/write/annotations

相关文章

  • 注解简介

    注解的作用 向 Lint 之类的代码检查工具提供提示,帮助检测这些更细微的代码问题。您可以将注解作为元数据标记附加...

  • 注解简介

    JDK&Spring中的注解简介 从JDK5开始,Java增加对元数据的支持,也就是注解,注解与注释是有一定区别的...

  • Android测试系列-Junit(三)

    目录 注解简介 执行过程注解的使用 其他注解的使用 注解简介 JUnit包中包含了一些注解的使用,其中有以下一些注...

  • Java-深入了解元注解

    1. 简介 元注解是指注解的注解,包括@Retention @Target @Document @Inherite...

  • ★17.注解

    简介 注解括号内的称之为 元素 。 没有元素的注解称为 标记注解 。 标准注解 @Override:声明覆盖。 @...

  • annotationProcessor实战,了解ButterKi

    注解的简介 简介 Annotations, a form of metadata, provide data ab...

  • JAVA RESTful WebService实战笔记(二)

    资源定位之注解相关简介 @QueryParam注解 JAX-RS2定义了@QueryParam注解来定义查询参数,...

  • 元注解简介

    元注解是指注解的注解,包括@Retention @Target @Document @Inherited四种@Re...

  • Retrofit注解简介

    一.注解简介 Retrofit是square组织开发维护的一款网络框架,Retrofit是在okhttp基础之上进...

  • Java自定义注解实战

    注解简介 注解的本质是一个接口,该接口默认继承Annotation接口,使用@interface进行定义。注解主要...

网友评论

      本文标题:注解简介

      本文链接:https://www.haomeiwen.com/subject/yjsojftx.html