Android Studio提示错误: 找不到符号 符号: 类 NonNull,位置: 类 xxx。解说如下:
一、解析:通常我们如果对一个变量进行主动的赋值为null,编译器可能会进行可能引发空指针异常的警告,我们可以使用以下注解对这种行为进行控制。
- NonNull:指出一个参数,变量,或方法返回值永远不可为null。
- Nullable:指出一个参数,变量,或方法返回值可能为null。
二、常见的注解如下:
1、@NonNull 告诉编译器,参数非空
2、@Nullable 告诉编译器 参数可为空
3、@IdRes 声明参数是个id
4、@StringRes 声明这个 int 参数是个字符串资源
5、@StyleRes 声明参数是个style 类型
6、LayoutRes 声明参数是个layout类型
其它的类似:@DimenRes @DrawableRes @RawRes @ColorRes @XmlRes @BoolRes @In
三、注解库介绍
android-support-annotations是Android官方提供的一个注解库,它提供了许多有用的注解,这些注解的生命周期为源码时期,也就是在编译之后则不再保留,通常用于辅助代码上的静态检查。
在Gradle中引入这个库的方式通常如下:
implementation 'com.android.support:support-annotations:28.0.0'
四、本错误解决办法
如上所述,在Gradle中引入这个库的方式通常如下:
implementation 'com.android.support:support-annotations:28.0.0'
五、引申
Android Support库是官方出的支持扩展库,包含了丰富的组件、工具类等,通过在Android SDK Manager中勾选以下两项来获取到。 Android Support Library和Android Support Repository。
其中,Android Support Library下载的是对应的源码或jar包,在使用Eclipse时会从这里拷贝出需要的文件到项目中。而Android Support Repository下载的是这个support库所对应的本地Maven库。如果你是使用Gradle进行构建(如Android Studio),并通过远程依赖的方式来使用support库的话,则需要下载它,才能获取到对应的依赖。