为了账号安全,请及时绑定邮箱和手机立即绑定

如何修复android java中的sqliteException

如何修复android java中的sqliteException

阿晨1998 2023-04-26 14:52:16
我试图将值插入数据库以及内容提供者中,但出现空 sqlite 异常。在使用内容提供者类之前,我的数据已毫无问题地添加到数据库中。在尝试内容提供者之后,我得到了异常。我也不知道是否为内容提供者插入了值......在 SpecificActivity 类中我需要使用由 LoadImageAsyncTask 类返回的可绘制对象但我在那里得到空值......帮助我解决这些问题..
查看完整描述

1 回答

?
函数式编程

TA贡献1807条经验 获得超9个赞

表中有 4 列和主键。

当你插入一个新行时,你为ContentValues对象提供了值,但你为每一列做了两次:


values.put(FeedReaderContract.FeedEntry.COLUMN_NAME_TITLE, newsReport.getTitle());

values.put(FeedReaderContract.FeedEntry.COLUMN_NAME_CONTENT, newsReport.getContent());

values.put(FeedReaderContract.FeedEntry.COLUMN_NAME_CHANNEL, newsReport.getNewsChannel());

values.put(FeedReaderContract.FeedEntry.COLUMN_NAME_IMAGE, newsReport.getPic());

values.put(NewsFeedProvider.newsTitle, newsReport.getTitle());

values.put(NewsFeedProvider.newsContent, newsReport.getContent());

values.put(NewsFeedProvider.newsChannel, newsReport.getNewsChannel());

values.put(NewsFeedProvider.newsImage, newsReport.getPic()); 

为什么?

我怀疑其中之一:


NewsFeedProvider.newsTitle

NewsFeedProvider.newsContent

NewsFeedProvider.newsChannel

NewsFeedProvider.newsImage

回报null。

所以删除这些行:


values.put(NewsFeedProvider.newsTitle, newsReport.getTitle());

values.put(NewsFeedProvider.newsContent, newsReport.getContent());

values.put(NewsFeedProvider.newsChannel, newsReport.getNewsChannel());

values.put(NewsFeedProvider.newsImage, newsReport.getPic());

不需要它们。

列的值由前 4 行设置。


查看完整回答
反对 回复 2023-04-26
  • 1 回答
  • 0 关注
  • 91 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信