Я работаю над клиентским Android-приложением, которое будет извлекать данные из URL-адреса и сохранять их в локальной базе данных. Я ознакомлен с использованием SQLiteDatabase
для этой операции.База данных SQLite и CursorLoaders
Моя забота началась, когда я читал около SimpleCursorAdapter
, чтобы отображать строки таблиц в списке. Вот когда я прочитал около CursorLoader
для асинхронного управления курсором.
Дело в том, что, читая об этом, они говорят о ContentProvider
, и, насколько я знаю, этот класс используется для обмена данными между приложениями, поэтому я смутился.
Можете ли вы провести меня через это, я не знаю, нужно ли мне использовать CursorLoader
, потому что я не знаю, для чего это необходимо, и что это имеет отношение к ContentProvider
и обмена данными между приложениями.
EDIT: Чтение демонстрационного приложения нашло здесь https://github.com/commonsguy/cwac-loaderex/blob/master/demo/src/com/commonsware/cwac/loaderex/demo/ConstantsBrowser.java
Похоже, что для получения данных это делается в строке 122: onCreateLoader
public Loader<Cursor> onCreateLoader(int loaderId, Bundle args) {
loader = new SQLiteCursorLoader(this, db, "SELECT _ID, title, value "
+ "FROM constants ORDER BY title", null);
return(loader);
}
делает это означает, что я больше не могу использовать SQLiteDatabase # запрос()? например, db.query (таблица, столбцы, выбор, selectionArgs, groupBy, имеющая, orderBy);
Вам удалось решить эту проблему? –