Ответ 1
Во-первых, startManagingCursor()
все еще работает. Он не идеален, поскольку он выполняет ввод/вывод базы данных в основном потоке приложения. В Android "устаревший" обычно означает "у нас есть что-то еще, что мы считаем лучше, чем мы предлагаем вам использовать". Поэтому, когда это имеет смысл в цикле разработки вашего приложения, вам следует подумать о переносе.
Во-вторых, как отметил Селвин, SDK обеспечивает реализацию Loader
для ContentProvider
. У меня проект, предлагающий непосредственно Loader
для SQLite.
В-третьих, для вашего кода действительно нет прямого перевода. Структура Loader
является асинхронной и управляемой событиями, тогда как ваш код не является.
Вообще говоря, ваш Loader
будет отвечать за извлечение заметок, и вы будете заполнять свой ListView
в onLoadFinished()
, когда вы доставляете Cursor
из Loader
.