android - 对 CursorLoaders 感到困惑并将它们与自定义 SQLiteOpenHelper 一起使用

标签 android sqlite sqliteopenhelper android-loadermanager android-cursorloader

我正在编写一个应用程序,允许人们为他们需要完成的各种任务设置闹钟。我目前的计划是将所有相关数据存储到 SQLite 数据库中。为此,我创建了一个扩展 SQLiteOpenHelper 的类,并用方法填充它来处理我希望必须接受的所有 CRUD。知道在一个线程上完成所有处理通常不是一个好主意,我寻找在线程之间分离工作的方法,并找到了 CursorLoader 和 LoaderManager,这看起来很理想,因为它们在 Android 兼容性库中可用。但是,LoaderManager 似乎需要一个由 tutorial in the documentation 进行的 ContentProvider ,而且我还没有真正看到需要对 ContentProviders 做任何事情,因为我不打算允许其他应用程序访问数据。没有 ContentProvider,我不知道我应该如何为我的数据库获取 Uri 以馈送到 CursorLoader。有没有一种方法可以让我继续使用扩展 SQLiteOpenHelper 的类并仍然实现 LoaderManager 以允许我将所有填充的 ListFragments 与我的光标保持在 UI 线程之外?

最佳答案

Is there a way for me to keep using my class that extends SQLiteOpenHelper and still implement LoaderManager to allow me to keep all the populating ListFragments with my cursor off of the UI thread?

您只需要一个不同的 Loader 实现,一个不涉及 ContentProvider 的实现。恰好I wrote one of those .

关于android - 对 CursorLoaders 感到困惑并将它们与自定义 SQLiteOpenHelper 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10842412/

相关文章:

Android自定义对话框显示额外空间

android - 为什么 Videoview 不能播放 Youtube 视频?

java - 从左向右滑动从 ListView 中删除项目

android - 谷歌字母滚动

java - 如何在 SQLite 中向表添加外键?

sqlite - 如何在 SQLite 中删除具有 2 列作为复合主键的多行?

python - 有没有办法将 Python 变量传递给 SQL 查询?

Android Sqlite 应用程序在 Android pie 及更高版本中崩溃给出 SQLiteDiskIOException(代码 522)

android - 未在特定设备品牌 ZTE-Z982 N9560 上获取 SQLite 表

android - 使用 Singleton 设计模式正确打开/关闭数据库