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  声明这个方法不被混淆

     

     

     

     

  • 相关阅读:
    解决bash: less: command not found
    IDEA-相关插件使用
    如何理解多租户架构?
    mybatis自动生成model、dao及对应的mapper.xml文件
    IDEA设置提示生成序列化ID
    [DUBBO] qos-server can not bind localhost:22222错误解决
    @NotNull,@NotEmpty,@NotBlank区别
    (三)IDEA使用,功能面板
    PHP实现自己活了多少岁
    使用PHP函数输出前一天的时间和后一天的时间
  • 原文地址:https://www.cnblogs.com/vir56k/p/5566466.html
Copyright © 2011-2022 走看看