android support 作用,Android Support Annotation的使用

官方提供了很多特别好用的类或注解,这里说的support annotation就是特别好的工具,多使用其中的注解,可以规范我们的开发,防止一些不必要的错误。要想使用support annotation需要手动添加依赖

compile 'com.android.support:support-annotations:25.2.0'

在这里面有几个对我们开发特别有用的注解:

@Nullable和@NonNull

IntDef StringDef

一些资源类的注解

Nullable和NonNull

这两个注解还是蛮简单的。字面意思就能看的出来。用于变量,参数和返回值是否为空。

例如

public void foo(@NonNull String content){

}

有这么一个方法,这时候如果我们将参数content的值传入了一个可能为空的值时,编辑器(AS)就会有所提示。

IntDef和StringDef

这两个主要是用来解决在Android中使用enum效率低的问题。这是官方的一个demo。在使用到enum的地方,都应该换成IntDef或StringDef。

import android.support.annotation.IntDef;

...

public abstract class ActionBar {

...

// Define the list of accepted constants and declare the NavigationMode annotation

@Retention(RetentionPolicy.SOURCE)

@IntDef({NAVIGATION_MODE_STANDARD, NAVIGATION_MODE_LIST, NAVIGATION_MODE_TABS})

public @interface NavigationMode {}

// Declare the constants

public static final int NAVIGATION_MODE_STANDARD = 0;

public static final int NAVIGATION_MODE_LIST = 1;

public static final int NAVIGATION_MODE_TABS = 2;

// Decorate the target methods with the annotation

@NavigationMode

public abstract int getNavigationMode();

// Attach the annotation

public abstract void setNavigationMode(@NavigationMode int mode);

资源类注解

通过自带的几个资源类注解,可以做到在代码中提示我们使用的资源是否正确。作用在参数上。

主要有@StringRes @DimenRes @IdRes @ColorRes @DrawableRes @AnimRes @AttrRes

@LayoutRes @MenuRes @RawRes等 各类资源的检查注解。

例如,在使用@StringRes之后,会检查该值是不是R.string的形式。

其他

要想查看更加详细的注解,就查看官方文档吧。官方文档讲的比我清楚明了。这里就是简单提一下,做个小笔记。

值约束注解

IntRange FloatRange等,详细看官方文档。这里的代码摘抄自官方文档

public void setAlpha(@IntRange(from=0,to=255) int alpha) { … }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值