zoukankan      html  css  js  c++  java
  • android 中的一些资源注解,让编译器帮你检查代码

    android 中的一些资源注解,让编译器帮你检查代码

    写方便的时候可以用注解来声明一些参数,以明确的指示参数的类型,让代码更安全。我们看到,在android源代码里大量使用了注解。我整理了一些注解如下:

     

    @NonNull  告诉编译器,这个参数是非空的,编译器会帮你做出检查。

    示例:

    @NonNull
    public static Snackbar make(@NonNull View view, @StringRes int resId, @Duration int duration) {
        return make(view, view.getResources().getText(resId), duration);
    }

     

     

    @Nullable 声明参数是可能为空的,编译器会帮你做出检查

    示例:

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {}

      

    @IdRes   声明这个 int 参数是个 id,编译器会帮你做出检查

    public View findViewById(@IdRes int id) {
        return getDelegate().findViewById(id);
    }

      

    @StringRes  声明这个 int 参数 是一个字符串资源,编译器会帮你做出检查

    示例:

    @NonNull
    public Snackbar setAction(@StringRes int resId, View.OnClickListener listener) {
        return setAction(mContext.getText(resId), listener);
    }

     

    @StyleRes 声明参数是 style 类型,编译器会帮你做出检查

    @Override
    public void setTheme(@StyleRes final int resid) {}

     

    @LayoutRes 声明参数是个 layout 类型,,编译器会帮你做出检查

    示例:

    public void setContentView(@LayoutRes int layoutResID)

     

    类似的有很多,看名字就知道干什么用的

    @DimenRes  @DrawableRes  @RawRes  @ColorRes  @XmlRes

    @BoolRes   @IntegerRes @StyleableRes

      

    另: 

        @Keep  声明这个方法不被混淆

     

     

     

     

  • 相关阅读:
    centos 编码问题 编码转换 cd到对应目录 执行 中文解压
    centos 编码问题 编码转换 cd到对应目录 执行 中文解压
    centos 编码问题 编码转换 cd到对应目录 执行 中文解压
    Android MVP 十分钟入门!
    Android MVP 十分钟入门!
    Android MVP 十分钟入门!
    Android MVP 十分钟入门!
    mysql备份及恢复
    mysql备份及恢复
    mysql备份及恢复
  • 原文地址:https://www.cnblogs.com/vir56k/p/5566466.html
Copyright © 2011-2022 走看看