我以前使用過Android的SQLite
,但我總是手動管理數據行,所以我從來沒有使用類如SimpleCursorAdapter
。我想現在就開始使用它們,但是我需要一些代碼實現的幫助,因爲它說我必須使用CursorLoader
。我決定使用SQLiteCursorLoader
庫。SQLite和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
嗎?
我不知道「它」是什麼,但是您不必使用帶'SimpleCursorAdapter'的'Loader'。如果您想了解Loader框架的內容,請參閱[文檔](https://developer.android.com/guide/components/loaders.html)。 – CommonsWare
感謝您的快速回答,我編輯了我的帖子,以獲得更準確的問題。 –