Dre*_*awk 19 android cursor android-cursorloader
我将我的android更新SDK到最新版本,现在它说startManagingCursor()是deprecated.我需要帮助来更新我的代码以使用新代码 CursorLoader.
private void fillData() {
Cursor notesCursor = mDbHelper.fetchAllNotes();
startManagingCursor(notesCursor);
NoteAdapter notes = new NoteAdapter(this, R.layout.notes_row, notesCursor);
setListAdapter(notes);
}
Run Code Online (Sandbox Code Playgroud)
那么,startManagingCursor()旧的,如果它被翻译,新代码会是什么样子?
Com*_*are 16
首先,startManagingCursor()仍然有效.它并不理想,因为它在主应用程序线程上执行数据库I/O. 在Android中,"弃用"通常意味着"我们认为我们建议您使用的其他内容更好".因此,如果在应用程序的开发周期中有意义,则应考虑迁移.
其次,正如Selvin所说,SDK只提供了一个Loader实现ContentProvider.我有一个项目Loader直接为SQLite 提供.
第三,你的代码确实没有直接的"翻译".该Loader框架是异步和事件驱动的,而您的代码则不是.
一般来说,你Loader将负责获取笔记,你会填充你ListView的onLoadFinished(),当你交付Cursor从Loader.
| 归档时间: |
|
| 查看次数: |
14695 次 |
| 最近记录: |