当前位置: 首页 > 知识库问答 >
问题:

Android:getContext().getContentResolver()有时会得到NullPointerException

狄晟睿
2023-03-14

我想问为什么我们得到这个注释:

方法调用getContext.getContentResolver()可能产生NullPointerException

为什么它在那里而不在程序片段/活动的其他部分?这种方法已经在Google制作的教程中使用过--这里有ContentProvider代码的链接https://github.com/udacity/sunshin-version-2/blob/sunshine_master/app/src/main/java/com/example/android/sunshine/app/data/weatherProvider.java,即使您创建一个只有空白活动的application并将该方法放在新创建的ContentProvider中,它也在那里。

共有1个答案

东门理
2023-03-14

如果您查看ContentProvider的源代码(只需在Android Studio中按住SHIFT并单击classname),那么您会发现该实现将Context类型的对象保存为mContext。

您的解决方案是相同的,这意味着如果ContentProvider的mContext为null,那么您的引用也将为null。所以没有这个必要。

为了帮助您,这只是一个警告,您的IDE如果作出这样的构造自己。但是在这种情况下总是会有上下文,因为ContentProvider是由您的系统生成的。为了避免IDE中的错误,只需在类定义上方写入@suppresswarnings(“constantConditions”),如下所示:

...
@SuppressWarnings("ConstantConditions")
public class NoteProvider extends ContentProvider {
...
 类似资料:
  • 我还尝试了,,JMeter获得了多达8000个示例,最大时间12000ms(超时30s),并给出了错误。在拒绝之前,它至少应该排队10,000个连接。

  • 我的错误是:org.openqa.selenium.sessionNotCreatedException:会话未从超时创建:从呈现程序接收消息超时:600.000(会话信息:Chrome=79.0.3945.130)构建信息:版本:“3.141.59”,修订:“E82BE7D358”,时间:“2018-11-14T08:17:03”系统信息:主机:“swati-*con-mac”,IP:“fe80

  • 很抱歉,我对Java知之甚少。我得到了这个代码来接管。基本上,我在 当我运行代码时。 下面是解析XML的块 这是Improts,不确定是否需要这样做 这是XML文件

  • 问题内容: 我的代码在以下一行中断了一个nullpointerexception: 在此语句之前,我声明stringVariable并将其设置为数据库字段。 在此声明中,我试图检测该字段是否具有值,但是不幸的是它损坏了! 有什么想法吗? 问题答案: 用 为了测试是否是。 该方法(以及所有其他方法)需要为不是。

  • AMQ6235E:缺少目录“H:”。 我无法找到解决这个问题的方法,它正在连接队列,它显示了这个错误。我不能公开我运行的代码,但我可以解释节点脚本将做什么,首先尝试连接队列管理器,然后尝试通道名,主机名,端口名,这里问题是当它需要建立连接而不是得到上面的错误

  • 试图制作正确的XML,但不断得到这个错误: 在此进行测试: http://www.utilities-online.info/xsdvalidation 代码:.xml: