Для чего предназначен ContentProvider?

ContentProvider с английского переводится как “поставщик контента”. Это абстрактный класс и поэтому чтобы создать свой провайдер необходимо создать наследника этого класса.

Бывают ситуации, когда одно приложение хочет использовать данные другого приложения. Но приложения не могут работать с чужими базами данных. Поэтому для того, чтобы позволить одному приложению использовать данные другого, используется ContentProvider.

Можно использовать ContentProvider для двух вещей: получать данные и предоставлять данные .

Напрямую использовать ContentProvider для получения данных не получится. Когда необходимо обратиться к данным внутри провайдера нужно использовать ContentResolver, чтобы обращаться к провайдеру из вашего приложения в качестве клиента. ContentResolver обращается уже к провайдеру (причем так как сам по себе класс ContentProvider является абстрактным, резолвер будет обращаться к объекту наследника класса ContentProvider). Провайдер получает запрос, выполняет запрошенное действие и возвращает результат. Методы ContentResolver предоставляют базовые функции «CRUD» (create, read, update, delete). Данные методы затем вызывают одноименные методы провайдера.

Поделиться уроком

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *