Я столкнулся с небольшой дилеммой дизайна, я нацелился на Android 2.3.3 и имею собственную реализацию ContentProvider.Затем у меня есть класс статических методов для абстрагирования провайдера контента - предоставляя мне объекты, представляющие каждую сущность (строку) на основе моего запроса.Какое-то время мне было очень удобно работать так, пока я не захотел использовать всю коллекцию в нескольких местах для выполнения «тестов на попадание» и рисования на экране.У меня тогда возникла головная боль, связанная с обновлением представлений объектов, и в этот момент я решил сделать шаг назад и пересмотреть, где это взять.
Как я уже сказал, в настоящее время я использую 2.3.3,и понимаю, что в 3.0 CursorLoader преодолевает много проблем, с которыми я столкнулся.Мне все еще нужно поддерживать смартфоны, поэтому, если не будет обратного порта, я не смогу это сделать.
В качестве временного решения я начал регистрировать слушателей notifyChange, чтобы я мог перестроить коллекцию с помощью своего исходного запроса, номне кажется, что это сильно загружает процессор и потенциально медленный.Я еще не решил, следует ли мне откатиться от использования статического фасада и вместо этого использовать устаревший теперь вызов managedQuery из Activity.
Поэтому у меня есть два вопроса:
1) Есть липредпочтительный способ избежать проблем с работой с коллекцией, основанной на contentProvider?
2) Есть ли у вас какие-либо советы по работе с необработанными курсорами в действии?Должен ли я делать из них объекты или работать с курсором как есть?Я конечно чувствую, что они должны быть в AsynTask при выполнении запроса, но после этого я могу использовать их где-нибудь?