gpt4 book ai didi

android - 找不到 DatabaseObjectNotClosedException 错误的来源

转载 作者:行者123 更新时间:2023-11-30 04:46:31 25 4
gpt4 key购买 nike

我很难弄清楚我的问题出在哪里。我在我的程序中收到此错误,但它不会导致崩溃或类似情况。我有一个要发布的更新,但我不想在某些时候抛出此错误的情况下发布它。我已阅读有关此错误的所有相关帖子,但没有一个适用于我的情况。

我已经确定我正在关闭我的 DatabaseHelper 和 SQLiteDatabase 对象。我还确保关闭所有游标。此错误指向我的方法 getActiveScheduleInfo,它返回一个 Cursor 对象。我已确保无论何时调用此方法,返回的游标都会在 Finally block 中关闭。

这样做不对吗?在我调用 getActiveScheduleInfo 的方法中,我有多个基于特定条件的返回语句。因此,我没有在每个返回行之前关闭游标,而是用 Try 围绕条件测试,并在我的 Finally 中关闭所有内容。

一切看起来都应该正常工作,所以我非常感谢任何帮助!

非常感谢!保罗

最佳答案

我想通了!我希望这可以帮助遇到同样问题的其他人。

我在这里并没有做任何本质上不正确的事情,而是花了太长时间来关闭我的一些游标。为了给你一个非常简短的背景,我不能使用托管查询或使用 startManagingCursor,因为这段代码在自定义类中,而不是 Activity 中。我是针对 Android 2.0(API 级别 5)构建的,所以我没有使用新的 CursorLoader 对象。

我正在采取以下步骤:

  1. 打开数据库。
  2. 创建一个新的 Cursor 并执行我的查询。
  3. 遍历游标并执行所需的任务
  4. 执行一些其他逻辑
  5. 在 Finally block 中关闭游标和数据库。

我发现我的第 4 步,执行一些其他逻辑,在关闭我的 Cursor 之前,导致它超时,因为没有更好的术语,并导致这个错误。从现在开始,我从 Cursor 读取必要的数据,而不是一行代码,我关闭 Cursor。 :) 这完全消除了这些随机错误,并且我再次拥有干净运行的代码。

希望对遇到同样问题的人有所帮助!保重,

保罗

关于android - 找不到 DatabaseObjectNotClosedException 错误的来源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4834281/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com