使用SQLiteCursorLoader从SQLite更新返回_id

时间:2013-05-14 13:00:07

标签: android sqlite commonsware-cwac

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

SQLiteCursorLoader中的insert(..),update(..)等方法具有void返回类型。它会让我的生活变得更轻松,如果他们返回了一个很长的代码,我的代码就更整洁了,这是已修改的表中行的自动增加的行id。

我可能会破解SQLiteCursorLoader这样做,但我想知道是否有一个设计原因,它目前没有?如果我陷入困境并且遇到了大问题。

1 个答案:

答案 0 :(得分:3)

  

我想知道目前是否存在设计原因?

不确定。这些方法在AsyncTask中进行实际工作,因此无法返回您所寻求的值。

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