Intereting Posts
Android-программирование – разрешение экрана Android: BroadcastReceiver намерен обнаружить фотокамеру камеры? Как получить ссылку на кнопку, созданную в настраиваемом диалоге, с использованием макета xml? Ошибка экспорта ADT с помощью Gradle ClassCastException: android.widget.EditText OnLocationChanged всегда возвращает I старое местоположение Ошибка: выполнение выполнено для задачи ': app: processDebugResources'. > Java.io.IOException: не удалось удалить папку "" в андроид-студии RuntimeException: ошибка раздувания фрагмента класса Как исправить эту ошибку Ошибка Неподдерживаемая версия major.minor 52.0 в студии Android? Проверьте, включено ли в моем приложении доступ к использованию Ndk-build не найден в Path Привет, мировой модуль ядра для android и неизвестного переселения: 27, когда insmod Как получить позицию курсора (x, y) в EditText android Использование панели инструментов с фрагментами ArrayList нельзя отнести к Parcelable

Как работает getContentResolver ()?

Я просмотрел курс о ContentProvider в Интернете, демонстрирующий, как определить и использовать ContentProvider .

Я был смущен тем, что использовал метод getContentResolver() . Что возвращает этот метод?

Мой ContentProvider не установлен, и код просто пишет, что getContentProvider().query() .

Я не понимаю, как работает ContentProvider .

Solutions Collecting From Web of "Как работает getContentResolver ()?"

Он возвращает Content Resolver.


Что такое Content Resolver?

Content Resolver – это единственный глобальный экземпляр вашего приложения, который обеспечивает доступ к вашим (и другим приложениям) контент-провайдерам. Content Resolver ведет себя точно так же, как следует из его названия: он принимает запросы от клиентов и решает эти запросы, направляя их поставщику контента с определенным полномочием. Для этого Content Resolver хранит сопоставление от властей поставщикам контента. Этот проект важен, поскольку он позволяет использовать простые и безопасные средства доступа к другим провайдерам контента.

Средство Content Resolver включает методы CRUD (создание, чтение, обновление, удаление), соответствующие абстрактным методам (insert, delete, query, update) в классе Content Provider. Content Resolver не знает реализации поставщиков контента, с которыми он взаимодействует (и не должен знать); Каждому методу передается URI, который определяет контент-провайдера для взаимодействия.


Что такое контент-провайдер?

Принимая во внимание, что Content Resolver обеспечивает абстракцию от контент-провайдеров приложения, поставщики контента предоставляют абстрагирование от базового источника данных (т. SQLite database ). Они предоставляют механизмы для определения безопасности данных (т. Е. Путем обеспечения разрешений на чтение и запись) и предлагают стандартный интерфейс, который соединяет данные в одном процессе с кодом, запущенным в другом процессе.

Поставщики контента предоставляют интерфейс для публикации и потребления данных, основанный на простой модели URI-адресации с использованием content:// schema . Они позволяют отделять ваши уровни приложений от базовых слоев данных, делая агностик-источник данных вашего приложения абстрактным источником данных.

Источник – androiddesignpatterns

GetContentResolver () возвращает экземпляр ContentResolver для пакета вашего приложения.

Вставка его с сайта developer.android.com

Поставщики контента управляют доступом к структурированному набору данных. Они инкапсулируют данные и предоставляют механизмы для определения безопасности данных. Поставщики контента – это стандартный интерфейс, который соединяет данные в одном процессе с кодом, запущенным в другом процессе.

Когда вы хотите получить доступ к данным в поставщике контента, вы используете объект ContentResolver в Контексте вашего приложения для связи с поставщиком как с клиентом. Объект ContentResolver связывается с объектом-провайдером, экземпляром класса, который реализует ContentProvider. Объект поставщика получает запросы данных от клиентов, выполняет запрошенное действие и возвращает результаты.

http://developer.android.com/guide/topics/providers/content-providers.html