ContentProvider Class
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Content providers are one of the primary building blocks of Android applications, providing content to applications.
[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
- Inheritance
- Derived
- Attributes
- Implements
Remarks
Content providers are one of the primary building blocks of Android applications, providing content to applications. They encapsulate data and provide it to applications through the single ContentResolver
interface. A content provider is only required if you need to share data between multiple applications. For example, the contacts data is used by multiple applications and must be stored in a content provider. If you don't need to share data amongst multiple applications you can use a database directly via android.database.sqlite.SQLiteDatabase
.
When a request is made via a ContentResolver
the system inspects the authority of the given URI and passes the request to the content provider registered with the authority. The content provider can interpret the rest of the URI however it wants. The UriMatcher
class is helpful for parsing URIs.
The primary methods that need to be implemented are: <ul> <li>#onCreate
which is called to initialize the provider</li> <li>#query
which returns data to the caller</li> <li>#insert
which inserts new data into the content provider</li> <li>#update
which updates existing data in the content provider</li> <li>#delete
which deletes data from the content provider</li> <li>#getType
which returns the MIME type of data in the content provider</li> </ul>
<p class="caution">Data access methods (such as #insert
and #update
) may be called from many threads at once, and must be thread-safe. Other methods (such as #onCreate
) are only called from the application main thread, and must avoid performing lengthy operations. See the method descriptions for their expected thread behavior.</p>
Requests to ContentResolver
are automatically forwarded to the appropriate ContentProvider instance, so subclasses don't have to worry about the details of cross-process calls.
<div class="special reference"> <h3>Developer Guides</h3>
For more information about using content providers, read the Content Providers developer guide.
</div>
Java documentation for android.content.ContentProvider
.
Portions of this page are modifications based on work created and shared by the Android Open Source Project and used according to terms described in the Creative Commons 2.5 Attribution License.
Constructors
ContentProvider() |
Construct a ContentProvider instance. |
ContentProvider(IntPtr, JniHandleOwnership) |
A constructor used when creating managed representations of JNI objects; called by the runtime. |
Properties
CallingAttributionSource |
Gets the attribution source of the calling app. |
CallingAttributionTag |
Return the attribution tag of the caller that initiated the request being processed on the current thread. |
CallingPackage |
Return the package name of the caller that initiated the request being processed on the current thread. |
CallingPackageUnchecked |
Return the package name of the caller that initiated the request being processed on the current thread. |
Class |
Returns the runtime class of this |
Context |
Retrieves the Context this provider is running in. |
Handle |
The handle to the underlying Android instance. (Inherited from Object) |
IsTemporary |
Returns true if this instance is a temporary content provider. |
JniIdentityHashCode | (Inherited from Object) |
JniPeerMembers | |
PeerReference | (Inherited from Object) |
ReadPermission |
Obsolete.
Return the name of the permission required for read-only access to this content provider. -or- Change the permission required to read data from the content provider. |
ThresholdClass |
This API supports the Mono for Android infrastructure and is not intended to be used directly from your code. |
ThresholdType |
This API supports the Mono for Android infrastructure and is not intended to be used directly from your code. |
WritePermission |
Obsolete.
Return the name of the permission required for read/write access to this content provider. -or- Change the permission required to read and write data in the content provider. |
Methods
ApplyBatch(IList<ContentProviderOperation>) |
Override this to handle requests to perform a batch of operations, or the
default implementation will iterate over the operations and call
|
ApplyBatch(String, IList<ContentProviderOperation>) |
Override this to handle requests to perform a batch of operations, or the
default implementation will iterate over the operations and call
|
AttachInfo(Context, ProviderInfo) |
After being instantiated, this is called to tell the content provider about itself. |
BulkInsert(Uri, ContentValues[]) |
Override this to handle requests to insert a set of new rows, or the
default implementation will iterate over the values and call
|
Call(String, String, Bundle) |
Call a provider-defined method. |
Call(String, String, String, Bundle) |
Call a provider-defined method. |
Canonicalize(Uri) |
Implement this to support canonicalization of URIs that refer to your content provider. |
ClearCallingIdentity() |
Reset the identity of the incoming IPC on the current thread. |
Clone() |
Creates and returns a copy of this object. (Inherited from Object) |
Delete(Uri, Bundle) |
Implement this to handle requests to delete one or more rows. |
Delete(Uri, String, String[]) |
Implement this to handle requests to delete one or more rows. |
Dispose() | (Inherited from Object) |
Dispose(Boolean) | (Inherited from Object) |
Dump(FileDescriptor, PrintWriter, String[]) |
Print the Provider's state into the given stream. |
DumpAsync(FileDescriptor, PrintWriter, String[]) | |
Equals(Object) |
Indicates whether some other object is "equal to" this one. (Inherited from Object) |
GetHashCode() |
Returns a hash code value for the object. (Inherited from Object) |
GetPathPermissions() |
Return the path-based permissions required for read and/or write access to this content provider. |
GetStreamTypes(Uri, String) |
Called by a client to determine the types of data streams that this content provider supports for the given URI. |
GetType(Uri) |
Implement this to handle requests for the MIME type of the data at the given URI. |
GetTypeAnonymous(Uri) |
Implement this to handle requests for MIME type of URIs, that does not need to reveal any internal information which should be protected by any permission. |
Insert(Uri, ContentValues, Bundle) |
Implement this to handle requests to insert a new row. |
Insert(Uri, ContentValues) |
Implement this to handle requests to insert a new row. |
JavaFinalize() |
Called by the garbage collector on an object when garbage collection determines that there are no more references to the object. (Inherited from Object) |
Notify() |
Wakes up a single thread that is waiting on this object's monitor. (Inherited from Object) |
NotifyAll() |
Wakes up all threads that are waiting on this object's monitor. (Inherited from Object) |
OnCallingPackageChanged() |
Called whenever the value of |
OnConfigurationChanged(Configuration) |
To be added This method is always called on the application main thread, and must not perform lengthy operations. |
OnCreate() |
Implement this to initialize your content provider on startup. |
OnLowMemory() |
To be added This method is always called on the application main thread, and must not perform lengthy operations. |
OnTrimMemory(TrimMemory) |
Called when the operating system has determined that it is a good time for a process to trim unneeded memory from its process. |
OpenAssetFile(Uri, String, CancellationSignal) |
This is like |
OpenAssetFile(Uri, String) |
This is like |
OpenFile(Uri, String, CancellationSignal) |
Override this to handle requests to open a file blob. |
OpenFile(Uri, String) |
Override this to handle requests to open a file blob. |
OpenFileHelper(Uri, String) |
Convenience for subclasses that wish to implement |
OpenPipeHelper(Uri, String, Bundle, Object, ContentProvider+IPipeDataWriter) |
A helper function for implementing |
OpenTypedAssetFile(Uri, String, Bundle, CancellationSignal) |
Called by a client to open a read-only stream containing data of a particular MIME type. |
OpenTypedAssetFile(Uri, String, Bundle) |
Called by a client to open a read-only stream containing data of a particular MIME type. |
Query(Uri, String[], Bundle, CancellationSignal) |
Implement this to handle query requests where the arguments are packed into a |
Query(Uri, String[], String, String[], String, CancellationSignal) |
Implement this to handle query requests from clients with support for cancellation. |
Query(Uri, String[], String, String[], String) |
Implement this to handle query requests from clients. |
Refresh(Uri, Bundle, CancellationSignal) |
Implement this to support refresh of content identified by |
RequireContext() |
Retrieves a Non-Nullable Context this provider is running in, this is intended to be called
after |
RestoreCallingIdentity(ContentProvider+CallingIdentity) |
Restore the identity of the incoming IPC on the current thread back to a
previously identity that was returned by |
SetHandle(IntPtr, JniHandleOwnership) |
Sets the Handle property. (Inherited from Object) |
SetPathPermissions(PathPermission[]) |
Change the path-based permission required to read and/or write data in the content provider. |
SetReadPermission(String) | |
SetWritePermission(String) | |
Shutdown() |
Implement this to shut down the ContentProvider instance. |
ToArray<T>() | (Inherited from Object) |
ToString() |
Returns a string representation of the object. (Inherited from Object) |
Uncanonicalize(Uri) |
Remove canonicalization from canonical URIs previously returned by
|
UnregisterFromRuntime() | (Inherited from Object) |
Update(Uri, ContentValues, Bundle) |
Implement this to handle requests to update one or more rows. |
Update(Uri, ContentValues, String, String[]) |
Implement this to handle requests to update one or more rows. |
Wait() |
Causes the current thread to wait until it is awakened, typically by being <em>notified</em> or <em>interrupted</em>. (Inherited from Object) |
Wait(Int64, Int32) |
Causes the current thread to wait until it is awakened, typically by being <em>notified</em> or <em>interrupted</em>, or until a certain amount of real time has elapsed. (Inherited from Object) |
Wait(Int64) |
Causes the current thread to wait until it is awakened, typically by being <em>notified</em> or <em>interrupted</em>, or until a certain amount of real time has elapsed. (Inherited from Object) |
Explicit Interface Implementations
IJavaPeerable.Disposed() | (Inherited from Object) |
IJavaPeerable.DisposeUnlessReferenced() | (Inherited from Object) |
IJavaPeerable.Finalized() | (Inherited from Object) |
IJavaPeerable.JniManagedPeerState | (Inherited from Object) |
IJavaPeerable.SetJniIdentityHashCode(Int32) | (Inherited from Object) |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) | (Inherited from Object) |
IJavaPeerable.SetPeerReference(JniObjectReference) | (Inherited from Object) |
Extension Methods
JavaCast<TResult>(IJavaObject) |
Performs an Android runtime-checked type conversion. |
JavaCast<TResult>(IJavaObject) | |
GetJniTypeName(IJavaPeerable) |