使用CursorLoader从数据库创建对象的ArrayList

时间:2014-05-16 18:15:44

标签: android android-cursorloader

我正在创建一个几乎是餐馆菜单的应用程序,我需要访问SQLite数据库才能获得所有菜单项。我有一个使用SQLiteOpenHelper设置的Content Provider,现在我需要弄清楚如何检索db中的所有菜单项并将它们保存到menuItem对象的ArrayList中。看起来像CursorLoader在这里是最好的选择,而我对如何实现它只是有点困惑。我阅读的大多数帖子都有使用SimpleCursorAdapter的示例,但它们总是只在列表视图中显示数据,我最终需要这样做,但我还需要将数据保存到单个对象中。我是否需要使用SimpleCursorAdapter,或者我可以在onLoadFinished方法中有一个循环,它继续移动到下一个光标位置并将数据保存在ArrayList的索引中? 谢谢你的帮助!

1 个答案:

答案 0 :(得分:0)

如果您已经使用ContentProvider包装了数据库。你完成了大部分工作。使用Cursor加载程序从ContentProvider获取数据。使用CursorLoader的优点是,使用LoaderManager,使用initLoader()创建的加载器会保留在内存中。如果需要分组数据,可以创建LoaderManager中可用的不同加载器,以便随时使用。

simpleCursorAdapter用于使用从CursorLoader返回的光标填充ListView。如果您的listView项很复杂(使用buttons和imageView),您可以创建自定义适配器扩展CursorAdapter类。