Android eclipse startManagingCursor Устаревший, но хотите поддерживать более старые версии API? - PullRequest
12 голосов
/ 19 марта 2012

Я пытаюсь что-то понять, и я уверен, что это очень важно для некоторых людей.

Я везде читал, что метод startManagingCursor устарел, и вы должны использовать класс CursorLoader.Но значит ли это, что вы должны использовать класс CursorLoader даже для приложений, которые поддерживают уровни API <11?Или это говорит о том, что если вы намереваетесь поддерживать только Honeycomb и выше, ТОГДА использовать cursorLoader? </p>

Я не могу импортировать класс загрузчика курсоров с API 4, поэтому я предполагаю, что использование CursorLoader нене применяется до Android 3.0+, но может кто-нибудь подтвердить для меня, пожалуйста?

Спасибо

1 Ответ

21 голосов
/ 19 марта 2012

Я везде читал, что метод startManagingCursor устарел, и вам следует использовать класс CursorLoader.

Если вы хотите наследовать от FragmentActivity, вы можете использовать Loaderреализация фреймворка в пакете поддержки Android, вплоть до Android 1.6.

При этом «устарело» в Android обычно означает «мы будем продолжать поддерживать это, но мы думаем, что есть более эффективные решения»,Конечно, вы можете использовать startManagingCursor() на уровне API 11+.Однако проблемы с управляемыми курсорами (особенно в том, что они requery() при перезапуске активности в главном потоке приложений) все еще существуют, в более старых и новых версиях Android.

Но означает ли это, что выследует использовать класс CursorLoader даже для приложений, которые поддерживают уровни API <11? </p>

Вы, конечно, можете, и, при прочих равных условиях, вы, вероятно, должны.Однако все остальное редко бывает одинаковым, и требование FragmentActivity может быть проблемой для вас.

Если вы разрабатываете новое приложение, сегодня вам следует с самого начала думать о фрагментах, и в этом случаевы все равно будете использовать FragmentActivity, и, следовательно, использование Loader не должно быть проблемой.

Я не могу импортировать класс загрузчика курсоров с помощью API 4

Реализация пакета поддержки Android Loader работает на уровне API 4 и выше.

...