Ответ 1
Я написал сообщение в блоге по этому вопросу. Вы также можете проверить этот ответ для получения дополнительной информации. Надеюсь, что это раскроет все для вас.
Как упоминал Барак, можно реализовать CursorLoader
без поставщиков контента, расширив класс AsyncTaskLoader<Cursor>
. Тем не менее, большинство учебников и пример кода используют ContentProvider
s, и похоже, что команда Android поощряет ее использование. Это также намного сложнее, чем реализация собственного класса.
Тем не менее, если вы действительно не хотите использовать контент-провайдеров, Dianne Hackborn (один из разработчиков фреймворка Android, также известный как "hackbod" здесь, на SO) предлагает написать собственный загрузчик, который вместо этого использует ваш класс базы данных поставщика контента. Самый простой способ - просто взять источник класса CursorLoader
из библиотеки совместимости и заменить запросы поставщика запросами на свой собственный класс-помощник db.