Я новичок в Android и успешно реализовал ArrayAdapter
для отображения списка простых объектов в ListView
. Я также создал класс, который расширяет SQLiteOpenHelper
, и я хотел бы использовать его для отображения списка строк из базы данных в ListView
.
Из того, что я могу сказать, кажется, что я должен использовать Loader
для асинхронного запроса данных и выступать в качестве посредника между моими данными и пользовательским интерфейсом.
Документация Loader
и CursorLoader
относится только к тому, как добиться этого при запросе ContentProvider
. Это заставило меня подумать, что лучшим подходом может быть создание ContentProvider
, который предоставляет структурированный интерфейс для моей базы данных, но в документации Android по созданию ContentProvider
говорится:
Вам не нужен провайдер для использования базы данных SQLite, если она полностью используется в вашем собственном приложении.
Есть ли особые причины, по которым мне не следует писать ContentProvider
? Если я что-то не упустил, похоже, что это обеспечит хорошую абстракцию для уровня данных и означает, что я могу получить все преимущества использования CursorLoader
при его использовании.
В моем случае база данных предназначена только для использования моим приложением. Итак, какие существуют альтернативы и есть ли хорошие учебные пособия, показывающие процесс от начала до конца?
Спасибо!