ContentProvider Класс

Определение

Поставщики контента являются одним из основных стандартных блоков приложений Android, предоставляя содержимое приложениям.

[Android.Runtime.Register("android/content/ContentProvider", DoNotGenerateAcw=true)]
public abstract class ContentProvider : Java.Lang.Object, Android.Content.IComponentCallbacks2, IDisposable, Java.Interop.IJavaPeerable
[<Android.Runtime.Register("android/content/ContentProvider", DoNotGenerateAcw=true)>]
type ContentProvider = class
    inherit Object
    interface IComponentCallbacks
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
    interface IComponentCallbacks2
Наследование
ContentProvider
Производный
Атрибуты
Реализации

Комментарии

Поставщики контента являются одним из основных стандартных блоков приложений Android, предоставляя содержимое приложениям. Они инкапсулируют данные и предоставляют их приложениям через единый ContentResolver интерфейс. Поставщик содержимого требуется только в том случае, если необходимо предоставить общий доступ к данным между несколькими приложениями. Например, данные контактов используются несколькими приложениями и должны храниться в поставщике контента. Если вам не нужно совместно использовать данные между несколькими приложениями, вы можете использовать базу данных непосредственно через android.database.sqlite.SQLiteDatabase.

Когда запрос выполняется через ContentResolver систему, проверяет центр заданного URI и передает запрос поставщику контента, зарегистрированного в органе. Поставщик содержимого может интерпретировать остальную часть URI, однако он хочет. Класс UriMatcher полезен для синтаксического анализа URI.

Основными методами, которые необходимо реализовать, являются: <ul<>li#onCreate>, который вызывается для инициализации поставщика</<>li,#query> который возвращает данные< вызывающему объекту/li<>,>#insert который вставляет новые данные в поставщик содержимого/li><, который обновляет существующие данные в поставщике>#delete<<<> содержимого/li,>#update который удаляет данные из поставщика< содержимого/li><>#getType возвращает тип данных MIME в поставщике< содержимого/li></ul>

<p class="осторожность">Методы доступа к данным (например #insert , и #update) могут вызываться из множества потоков одновременно и должны быть потокобезопасны. Другие методы (например #onCreate) вызываются только из основного потока приложения и должны избегать длительных операций. Ознакомьтесь с описаниями методов для их ожидаемого поведения потока.</p>

ContentResolver Запросы к автоматически перенаправляются в соответствующий экземпляр ContentProvider, поэтому подклассы не должны беспокоиться о деталях межпроцессных вызовов.

<div class="special reference"><h3 Developer Guides</h3>>

Дополнительные сведения об использовании поставщиков контента см. в руководстве разработчика поставщиков контента.

</div>

Документация по Java для android.content.ContentProvider.

Части этой страницы — это изменения на основе работы, созданной и общей проектом с открытым исходным кодом Android и используемой в соответствии с условиями, описанными в лицензии Creative Commons 2.5 Attribution.

Конструкторы

ContentProvider()

Создайте экземпляр ContentProvider.

ContentProvider(IntPtr, JniHandleOwnership)

Конструктор, используемый при создании управляемых представлений объектов JNI; вызывается средой выполнения.

Свойства

CallingAttributionSource

Получает источник атрибуции вызывающего приложения.

CallingAttributionTag

Возвращает тег атрибуции вызывающего объекта, инициирующего обработку запроса в текущем потоке.

CallingPackage

Возвращает имя пакета вызывающего объекта, инициирующего обработку запроса в текущем потоке.

CallingPackageUnchecked

Возвращает имя пакета вызывающего объекта, инициирующего обработку запроса в текущем потоке.

Class

Возвращает класс среды выполнения этого Objectобъекта.

(Унаследовано от Object)
Context

Извлекает контекст, в котором выполняется этот поставщик.

Handle

Дескриптор базового экземпляра Android.

(Унаследовано от Object)
IsTemporary

Возвращает значение true, если этот экземпляр является временным поставщиком контента.

JniIdentityHashCode

Поставщики контента являются одним из основных стандартных блоков приложений Android, предоставляя содержимое приложениям.

(Унаследовано от Object)
JniPeerMembers

Поставщики контента являются одним из основных стандартных блоков приложений Android, предоставляя содержимое приложениям.

PeerReference

Поставщики контента являются одним из основных стандартных блоков приложений Android, предоставляя содержимое приложениям.

(Унаследовано от Object)
ReadPermission
Устаревшие..

Возвращает имя разрешения, необходимого для доступа только для чтения к этому поставщику содержимого. -или- Измените разрешение, необходимое для чтения данных от поставщика содержимого.

ThresholdClass

Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода.

ThresholdType

Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода.

WritePermission
Устаревшие..

Возвращает имя разрешения, необходимого для доступа на чтение и запись к этому поставщику содержимого. -или- Измените разрешение, необходимое для чтения и записи данных в поставщике содержимого.

Методы

ApplyBatch(IList<ContentProviderOperation>)

Переопределите это, чтобы обрабатывать запросы для выполнения пакета операций, или реализация по умолчанию будет итерировать операции и вызывать ContentProviderOperation#apply их.

ApplyBatch(String, IList<ContentProviderOperation>)

Переопределите это, чтобы обрабатывать запросы для выполнения пакета операций, или реализация по умолчанию будет итерировать операции и вызывать ContentProviderOperation#apply их.

AttachInfo(Context, ProviderInfo)

После создания экземпляра вызывается для того, чтобы сообщить поставщику контента о себе.

BulkInsert(Uri, ContentValues[])

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

Call(String, String, Bundle)

Вызовите определяемый поставщиком метод.

Call(String, String, String, Bundle)

Вызовите определяемый поставщиком метод.

Canonicalize(Uri)

Реализуйте эту функцию для поддержки канонизации URI, которые относятся к поставщику содержимого.

ClearCallingIdentity()

Сброс удостоверения входящего IPC в текущем потоке.

Clone()

Создает и возвращает копию этого объекта.

(Унаследовано от Object)
Delete(Uri, Bundle)

Реализуйте это для обработки запросов на удаление одной или нескольких строк.

Delete(Uri, String, String[])

Реализуйте это для обработки запросов на удаление одной или нескольких строк.

Dispose()

Поставщики контента являются одним из основных стандартных блоков приложений Android, предоставляя содержимое приложениям.

(Унаследовано от Object)
Dispose(Boolean)

Поставщики контента являются одним из основных стандартных блоков приложений Android, предоставляя содержимое приложениям.

(Унаследовано от Object)
Dump(FileDescriptor, PrintWriter, String[])

Печать состояния поставщика в заданном потоке.

DumpAsync(FileDescriptor, PrintWriter, String[])

Поставщики контента являются одним из основных стандартных блоков приложений Android, предоставляя содержимое приложениям.

Equals(Object)

Указывает, равен ли другой объект этому объекту.

(Унаследовано от Object)
GetHashCode()

Возвращает значение хэш-кода для объекта.

(Унаследовано от Object)
GetPathPermissions()

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

GetStreamTypes(Uri, String)

Вызывается клиентом для определения типов потоков данных, поддерживаемых этим поставщиком контента для заданного URI.

GetType(Uri)

Реализуйте это для обработки запросов типа MIME данных по указанному URI.

GetTypeAnonymous(Uri)

Реализуйте это для обработки запросов для типов URI MIME, которые не должны раскрывать внутреннюю информацию, которая должна быть защищена любым разрешением.

Insert(Uri, ContentValues, Bundle)

Реализуйте это для обработки запросов на вставку новой строки.

Insert(Uri, ContentValues)

Реализуйте это для обработки запросов на вставку новой строки.

JavaFinalize()

Вызывается сборщиком мусора в объекте, когда сборка мусора определяет, что больше ссылок на объект нет.

(Унаследовано от Object)
Notify()

Пробуждение одного потока, ожидающего монитора этого объекта.

(Унаследовано от Object)
NotifyAll()

Просыпает все потоки, ожидающие монитора этого объекта.

(Унаследовано от Object)
OnCallingPackageChanged()

Вызывается всякий раз, когда значение #getCallingPackage() изменений дает поставщику возможность недействительных любых связанных с безопасностью кэширований, которые он может выполнять.

OnConfigurationChanged(Configuration)

Чтобы добавить этот метод, всегда вызывается в основном потоке приложения и не должен выполнять длительные операции.

OnCreate()

Реализуйте это для инициализации поставщика контента при запуске.

OnLowMemory()

Чтобы добавить этот метод, всегда вызывается в основном потоке приложения и не должен выполнять длительные операции.

OnTrimMemory(TrimMemory)

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

OpenAssetFile(Uri, String, CancellationSignal)

Это похоже #openFile, но может быть реализовано поставщиками, которые должны иметь возможность возвращать вложенные разделы файлов, часто ресурсы внутри их.

OpenAssetFile(Uri, String)

Это похоже #openFile, но может быть реализовано поставщиками, которые должны иметь возможность возвращать вложенные разделы файлов, часто ресурсы внутри их.

OpenFile(Uri, String, CancellationSignal)

Переопределите это, чтобы обрабатывать запросы на открытие большого двоичного объекта файла.

OpenFile(Uri, String)

Переопределите это, чтобы обрабатывать запросы на открытие большого двоичного объекта файла.

OpenFileHelper(Uri, String)

Удобство для подклассов, которые хотят реализовать #openFile путем поиска столбца с именем "_data" в указанном URI.

OpenPipeHelper(Uri, String, Bundle, Object, ContentProvider+IPipeDataWriter)

Вспомогающая функция для реализации #openTypedAssetFileдля создания канала данных и фонового потока, позволяющего передавать созданные данные клиенту.

OpenTypedAssetFile(Uri, String, Bundle, CancellationSignal)

Вызывается клиентом для открытия потока только для чтения, содержащего данные определенного типа MIME.

OpenTypedAssetFile(Uri, String, Bundle)

Вызывается клиентом для открытия потока только для чтения, содержащего данные определенного типа MIME.

Query(Uri, String[], Bundle, CancellationSignal)

Реализуйте это для обработки запросов, в которых аргументы упакованы в объект Bundle.

Query(Uri, String[], String, String[], String, CancellationSignal)

Реализуйте это для обработки запросов от клиентов с поддержкой отмены.

Query(Uri, String[], String, String[], String)

Реализуйте эту реализацию для обработки запросов от клиентов.

Refresh(Uri, Bundle, CancellationSignal)

Реализуйте это для поддержки обновления содержимого, определяемого с помощью uri.

RequireContext()

Извлекает ненулевой контекст, в котором выполняется этот поставщик, он должен вызываться после #onCreate.

RestoreCallingIdentity(ContentProvider+CallingIdentity)

Восстановите удостоверение входящего IPC в текущем потоке обратно в ранее возвращаемое #clearCallingIdentityудостоверение.

SetHandle(IntPtr, JniHandleOwnership)

Задает свойство Handle.

(Унаследовано от Object)
SetPathPermissions(PathPermission[])

Измените разрешение на основе пути, необходимое для чтения и записи данных в поставщике содержимого.

SetReadPermission(String)

Поставщики контента являются одним из основных стандартных блоков приложений Android, предоставляя содержимое приложениям.

SetWritePermission(String)

Поставщики контента являются одним из основных стандартных блоков приложений Android, предоставляя содержимое приложениям.

Shutdown()

Реализуйте это, чтобы завершить работу экземпляра ContentProvider.

ToArray<T>()

Поставщики контента являются одним из основных стандартных блоков приложений Android, предоставляя содержимое приложениям.

(Унаследовано от Object)
ToString()

Возвращает строковое представление объекта.

(Унаследовано от Object)
Uncanonicalize(Uri)

Удалите канонизацию из канонических URI, возвращенных #canonicalizeранее.

UnregisterFromRuntime()

Поставщики контента являются одним из основных стандартных блоков приложений Android, предоставляя содержимое приложениям.

(Унаследовано от Object)
Update(Uri, ContentValues, Bundle)

Реализуйте это для обработки запросов на обновление одной или нескольких строк.

Update(Uri, ContentValues, String, String[])

Реализуйте это для обработки запросов на обновление одной или нескольких строк.

Wait()

Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>помощи уведомления</em> или <эм>прерванного</em>.

(Унаследовано от Object)
Wait(Int64, Int32)

Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>получении уведомления</>em или <>эм прервано< или> до тех пор, пока не истекло определенное количество реального времени.

(Унаследовано от Object)
Wait(Int64)

Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>получении уведомления</>em или <>эм прервано< или> до тех пор, пока не истекло определенное количество реального времени.

(Унаследовано от Object)

Явные реализации интерфейса

IJavaPeerable.Disposed()

Поставщики контента являются одним из основных стандартных блоков приложений Android, предоставляя содержимое приложениям.

(Унаследовано от Object)
IJavaPeerable.DisposeUnlessReferenced()

Поставщики контента являются одним из основных стандартных блоков приложений Android, предоставляя содержимое приложениям.

(Унаследовано от Object)
IJavaPeerable.Finalized()

Поставщики контента являются одним из основных стандартных блоков приложений Android, предоставляя содержимое приложениям.

(Унаследовано от Object)
IJavaPeerable.JniManagedPeerState

Поставщики контента являются одним из основных стандартных блоков приложений Android, предоставляя содержимое приложениям.

(Унаследовано от Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Поставщики контента являются одним из основных стандартных блоков приложений Android, предоставляя содержимое приложениям.

(Унаследовано от Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Поставщики контента являются одним из основных стандартных блоков приложений Android, предоставляя содержимое приложениям.

(Унаследовано от Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

Поставщики контента являются одним из основных стандартных блоков приложений Android, предоставляя содержимое приложениям.

(Унаследовано от Object)

Методы расширения

JavaCast<TResult>(IJavaObject)

Выполняет преобразование типа, проверяемого средой выполнения Android.

JavaCast<TResult>(IJavaObject)

Поставщики контента являются одним из основных стандартных блоков приложений Android, предоставляя содержимое приложениям.

GetJniTypeName(IJavaPeerable)

Поставщики контента являются одним из основных стандартных блоков приложений Android, предоставляя содержимое приложениям.

Применяется к