【发布时间】:2014-03-17 10:21:58
【问题描述】:
我之前用过Android的SQLite,但我一直都是手动管理数据行,所以我从来没有用过SimpleCursorAdapter这样的类。我现在想开始使用它们,但在代码实现方面我需要一点帮助,因为它说我必须使用CursorLoader。我决定使用SQLiteCursorLoader 库。
以下是详细信息:
我在 SQLite 数据库中有一个名为 students 的表。此外,Student 模型类和StudentManager 控制器类。调用 StudentManager#getAll() 返回一个包含所有学生的 Cursor。
让我们转到Fragment。我不使用ListFragment 来实现多功能性。无论如何,直到现在我在onCreate里面有以下内容:
studentCursor = studentManager.getAll();
String[] from = new String[] { EventManager.COLUMN_TITLE };
String[] to = new String[] { R.id.title };
cursorAdapter = new SimpleCursorAdapter(this, R.layout.row_events, eventCursor, from, to, 0);
然后,我将有一个 AsyncTask 子类,它将从 RESTful API 检索数据。
@Override
public void doInBackground() {
// code to get an array of students
for(Student student in students) {
studentManager.save(student);
}
}
问题是,我将在哪一部分使用SQLiteCursorLoader 以及用于什么
编辑:问题更可能是这样的:我已经在实现自己的AsyncTask 操作,因为我正在从服务器检索和管理所有数据。所以,如果我已经通过doInBackground 在辅助线程中管理数据,我还需要SQLiteCursorLoader 进行任何操作吗?
【问题讨论】:
-
我不知道“它”是什么,但您不必将
Loader与SimpleCursorAdapter一起使用。如果您想了解Loader框架的内容,请参阅the documentation。 -
感谢您的快速回答,我编辑了我的帖子以获得更准确的问题。
标签: android sqlite android-cursoradapter android-cursor android-cursorloader