При этом доступ к данным может осуществляться как из приложения, содержащего данный компонент, так и из других приложений.
Контент-провайдер предоставляет единый интерфейс доступа к данным, при этом сама реализация хранения данных может варьироваться: может осуществляться хранение данных в файле, в базе данных и т.п.
Базовым классом для контент-провайдера является ContentProvider. Обращения к данному компоненту приложения осуществляется с использованием объекта класса ContentResolver, который может осуществлять взаимодействие с любым контент-провайдером и имеет набор методов, предназначенных для чтения, записи, удаления данных:
- • query() – запрос на чтение данных;
• insert() – запрос на добавления данных;
• update() – обновление записей;
• delete() – удаление данных.
Идентификация данных осуществляется при помощи Content URI, содержащего буквенное имя самого контент-провайдера, а также, при необходимости, может содержать указание таблицы (в случае хранения данных в БД) или записи в какой-либо таблице провайдера. Методы, содержащиеся в классе ContentResolver, принимают в качестве одного из параметров Content URI.