как написать провайдер асинхронного контента в Android - PullRequest
2 голосов
/ 24 мая 2011

Я пишу провайдер контента, который предоставляет результаты поиска для других приложений. Провайдер контента отправляет запросы на сервер и анализирует ответ. Теперь он может успешно работать без асинхронных вызовов. Но если я хочу асинхронного провайдера контента, то есть Создание потока в функции query (). И тогда возникает проблема, как я могу узнать, когда поток закончил и получил результаты. Потому что сейчас я просто создаю поток и запускаю его, однако курсор не может получить Результаты. Кто-нибудь может мне помочь? Спасибо!

1 Ответ

1 голос
/ 06 марта 2012

У моего приложения такая же проблема.В зависимости от вашей ситуации вы можете вернуть пустой курсор из вашего запроса и затем обновить ваши представления при обновлении данных курсора.Если это имеет смысл с вашим источником данных, вы можете создать подкласс MatrixCursor (или другой курсор) и обязательно вызвать onChange, когда данные курсора обновляются после завершения асинхронного запроса - это должно уведомить наблюдателей этого курсора о новых данных, а затем онимогу показать это.

...