Поделиться через


Введение в ContentProvider

Для упрощения доступа к общим данным, таким как файлы мультимедиа, контакты и сведения о календаре, операционная система Android использует поставщики содержимого. В этой статье представлен класс ContentProvider, а также два примера его использования.

Общие сведения о поставщиках содержимого

Поставщик содержимого инкапсулирует репозиторий данных и предоставляет API для доступа к нему. Поставщик существует как часть приложения Android, которая обычно также предоставляет пользовательский интерфейс для отображения данных и управления ими. Основное преимущество поставщика содержимого заключается в том, что другие приложения могут легко получать доступ к инкапсулированным данным с помощью клиентского объекта поставщика (называемого ContentResolver). Вместе поставщик и сопоставитель содержимого обеспечивают единообразный работающий между приложениями API для доступа к данным. Этот API прост в создании и использовании. Любое приложение может использовать ContentProviders для внутреннего управления данными, а также для их предоставления другим приложениям.

ContentProvider также необходимо для приложения, чтобы предоставить настраиваемые варианты поиска, или если вы хотите предоставить возможность копирования сложных данных из приложения для вставки в другие приложения. В этом документе показано, как получить доступ к ContentProviders и создавать его с помощью Xamarin.Android.

Эта статья имеет следующую структуру.

  • Как это работает — обзор того, что ContentProvider предназначено для и как он работает.

  • Использование поставщика содержимого — пример доступа к списку контактов.

  • Использование ContentProvider для совместного использования данных — запись и использование ContentProvider в одном приложении.

ContentProviders и курсоры, работающие с их данными, часто используются для заполнения ListViews. Дополнительные сведения об использовании этих классов см. в руководстве Xamarin.Android ListView.

ContentProviders, предоставляемые Android (или другими приложениями), — это простой способ включения в приложение данных из других источников. Эти классы позволяют получать доступ к данным, таким как список контактов, фотографии или события календаря в приложении, и предоставлять пользователю возможность взаимодействовать с ними.

Настраиваемые классы ContentProviders — это удобный способ упаковки данных для использования в собственном приложении или для использования другими приложениями (включая особые варианты использования, такие как пользовательский поиск и копирование или вставка).

В темах этого раздела приводятся некоторые простые примеры использования и написания кода ContentProvider.