Самый простой подход в этом случае - придерживаться ContentProviders .Они позволяют вам полностью отделить логику, связанную с БД (настройка таблиц БД, управление обновлениями БД, операции CRUD) от остальной части приложения.
Вместо того, чтобы переписывать ее здесь, я свяжу вас с постом.Я сделал здесь по такому вопросу: Подход к проектированию доступа к базе данных Android
Данные в базе данных должны отображаться в списках.У меня есть данные в ArrayLists (созданные при разборе XML), а также базы данных (после того, как эти списки сохраняются).Какой адаптер я должен использовать для резервного копирования списка?Должен ли я использовать ListAdapter или CursorAdapter?
Да, CursorAdapter, вероятно, подойдет в этом случае.В вашей ListActivity вы можете выполнить запрос, например
...
CursorAdapter adapter = managedQuery(....);
setListAdapter(adapter);
...
Обновление списка произойдет автоматически, если вы правильно реализовали ContentProvider.Потому что в этом случае у вас будет такая строка, как
...
getContext().getContentResolver().notifyChange(uri, null);
...
в ваших методах вставки / обновления / удаления, которая будет уведомлять зарегистрированных наблюдателей об обновлении их данных.