Вставьте одну запись в sqlite android с помощью contentprovider - PullRequest
1 голос
/ 14 февраля 2012

У меня есть пользовательский контент-провайдер, и мне нужно вставлять одну запись за раз, когда пользователь нажимает на какую-то кнопку, и это не слишком часто. Мне было интересно, что я должен сделать эту вставку в фоновом потоке (AsynchTask и т. Д.) Или я должен просто вставить его в поток GUI? Сразу после вставки я должен обновить GUI. Если я должен сделать это в фоновом потоке, то какой подход лучше ... Я думаю, asynctask - лучший выбор. Заранее спасибо:)

Ответы [ 2 ]

2 голосов
/ 15 февраля 2012

Я не советую обращаться к вашему провайдеру в основном потоке.Используйте CursorLoader для запросов.Используйте объекты ContentProviderOperation и ContentResolver.applyBatch () для изменений.Эти классы обрабатывают всю фоновую работу за вас.

ASyncTask - гораздо более универсальный класс.

0 голосов
/ 15 февраля 2012

Да, вы правы. Использование Async Task для управления операциями с БД - хороший подход.Но решение о выборе конкретного подхода зависит от объема данных, которые вы запрашиваете или вставляете из / в базу данных.

...