【问题标题】:Returning _id from SQLite update using SQLiteCursorLoader使用 SQLiteCursorLoader 从 SQLite 更新返回 _id
【发布时间】:2013-05-14 13:00:07
【问题描述】:

我正在重构一个 Android 正在进行的应用程序以使用 Loader 框架,并且由于数据全部存储在 SQLite 数据库中,我使用的是 commonsware loaderex 包和 SQLiteCursorLoader 而不是 ContentProvider 层。

SQLiteCursorLoader 中的 insert(..)、update(..) 等方法的返回类型为 void。如果它们返回一个 long (即已修改的表中行的自动递增行 ID),这将使我的生活更轻松,我的代码更整洁。

我可能会破解 SQLiteCursorLoader 来做到这一点,但我想知道是否有设计原因让它目前没有?以防我陷入困境并遇到一个大问题。

【问题讨论】:

    标签: android sqlite commonsware-cwac


    【解决方案1】:

    我想知道是否有设计原因使其目前没有?

    当然。这些方法在AsyncTask 中执行实际工作,因此无法返回您寻求的值。

    欢迎你自己做AsyncTask 来执行这些操作并处理这些值,假设底层 SQLite API 支持它(我认为你不能从更新中获得你想要的值,因为那里是可能受到影响的多行)。您必须自己在SQLiteCursorLoader 上调用onContentChanged(),以触发重新查询数据库的逻辑并为您提供新的Cursor

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-03-17
      • 1970-01-01
      • 2021-04-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多