Android
android.content
public abstract class

android.content.ContentResolver

java.lang.Object
android.content.ContentResolver

This class provides applications access to the content model.

Summary

Constants

      Value  
String  CURSOR_DIR_BASE_TYPE  This is the Android platform's base MIME type for a content: URI containing a Cursor of zero or more items.  "vnd.android.cursor.dir" 
String  CURSOR_ITEM_BASE_TYPE  This is the Android platform's base MIME type for a content: URI containing a Cursor of a single item.  "vnd.android.cursor.item" 
String  SCHEME_ANDROID_RESOURCE    "android.resource" 
String  SCHEME_CONTENT    "content" 
String  SCHEME_FILE    "file" 
String  SYNC_EXTRAS_ACCOUNT    "account" 
String  SYNC_EXTRAS_DISCARD_LOCAL_DELETIONS    "discard_deletions" 
String  SYNC_EXTRAS_EXPEDITED    "expedited" 
String  SYNC_EXTRAS_FORCE    "force" 
String  SYNC_EXTRAS_OVERRIDE_TOO_MANY_DELETIONS    "deletions_override" 
String  SYNC_EXTRAS_UPLOAD    "upload" 

Public Constructors

            ContentResolver(Context context)

Public Methods

    final      IContentProvider  acquireProvider(String name)
    final      IContentProvider  acquireProvider(Uri uri)
Returns the content provider for the given content URI..
    final      int  bulkInsert(Uri url, ContentValues[] values)
Inserts multiple rows into a table at the given URL.
          void  cancelSync(Uri uri)
    final      int  delete(Uri url, String where, String[] selectionArgs)
Deletes row(s) specified by a content URI.
    final      String  getType(Uri url)
Return the MIME type of the given content URL.
    final      Uri  insert(Uri url, ContentValues values)
Inserts a row into a table at the given URL.
          void  notifyChange(Uri uri, ContentObserver observer)
Notify registered observers that a row was updated.
          void  notifyChange(Uri uri, ContentObserver observer, boolean syncToNetwork)
Notify registered observers that a row was updated.
    final      ParcelFileDescriptor  openFileDescriptor(Uri uri, String mode)
Open a raw file descriptor to access data under a "content:" URI.
    final      InputStream  openInputStream(Uri uri)
Open a stream on to the content associated with a content URI.
    final      OutputStream  openOutputStream(Uri uri)
Open a stream on to the content associated with a content URI.
    final      Cursor  query(Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder)
Query the given URI, returning a Cursor over the result set.
    final      void  registerContentObserver(Uri uri, boolean notifyForDescendents, ContentObserver observer)
Register an observer class that gets callbacks when data identified by a given content URI changes.
abstract          boolean  releaseProvider(IContentProvider icp)
          void  startSync(Uri uri, Bundle extras)
Start an asynchronous sync operation.
    final      void  unregisterContentObserver(ContentObserver observer)
Unregisters a change observer.
    final      int  update(Uri uri, ContentValues values, String where, String[] selectionArgs)
Update row(s) in a content URI.
      static    void  validateSyncExtrasBundle(Bundle extras)
Check that only values of the following types are in the Bundle:
  • Integer
  • Long
  • Boolean
  • Float
  • Double
  • String

Protected Methods

abstract          IContentProvider  acquireProvider(Context c, String name)
Methods inherited from class java.lang.Object

Details

Constants

public static final String CURSOR_DIR_BASE_TYPE

This is the Android platform's base MIME type for a content: URI containing a Cursor of zero or more items. Applications should use this as the base type along with their own sub-type of their content: URIs that represent a directory of items. For example, hypothetical IMAP email client may have a URI content://com.company.provider.imap/inbox for all of the messages in its inbox, whose MIME type would be reported as CURSOR_DIR_BASE_TYPE + "/vnd.company.imap-msg"

Note how the base MIME type varies between this and CURSOR_ITEM_BASE_TYPE depending on whether there is one single item or multiple items in the data set, while the sub-type remains the same because in either case the data structure contained in the cursor is the same.

Constant Value: "vnd.android.cursor.dir"

public static final String CURSOR_ITEM_BASE_TYPE

This is the Android platform's base MIME type for a content: URI containing a Cursor of a single item. Applications should use this as the base type along with their own sub-type of their content: URIs that represent a particular item. For example, hypothetical IMAP email client may have a URI content://com.company.provider.imap/inbox/1 for a particular message in the inbox, whose MIME type would be reported as CURSOR_ITEM_BASE_TYPE + "/vnd.company.imap-msg"

Compare with CURSOR_DIR_BASE_TYPE.

Constant Value: "vnd.android.cursor.item"

public static final String SCHEME_ANDROID_RESOURCE

Constant Value: "android.resource"

public static final String SCHEME_CONTENT

Constant Value: "content"

public static final String SCHEME_FILE

Constant Value: "file"

public static final String SYNC_EXTRAS_ACCOUNT

Constant Value: "account"

public static final String SYNC_EXTRAS_DISCARD_LOCAL_DELETIONS

Constant Value: "discard_deletions"

public static final String SYNC_EXTRAS_EXPEDITED

Constant Value: "expedited"

public static final String SYNC_EXTRAS_FORCE

Constant Value: "force"

public static final String SYNC_EXTRAS_OVERRIDE_TOO_MANY_DELETIONS

Constant Value: "deletions_override"

public static final String SYNC_EXTRAS_UPLOAD

Constant Value: "upload"

Public Constructors

public ContentResolver(Context context)

Public Methods

public final IContentProvider acquireProvider(String name)

public final IContentProvider acquireProvider(Uri uri)

Returns the content provider for the given content URI..

Parameters

uri The URI to a content provider

Returns

  • The ContentProvider for the given URI, or null if no content provider is found.

public final int bulkInsert(Uri url, ContentValues[] values)

Inserts multiple rows into a table at the given URL. If the content provider supports transactions all of the insertions will be atomic.

Parameters

url The URL of the table to insert into.
values The initial values for the newly inserted rows. The key is the column name for the field. Passing null will create an empty row.

Returns

  • the number of newly created rows.

public void cancelSync(Uri uri)

public final int delete(Uri url, String where, String[] selectionArgs)

Deletes row(s) specified by a content URI. If the content provider supports transactions, the deletion will be atomic.

Parameters

url The URL of the row to delete.
where A filter to apply to rows before deleting, formatted as an SQL WHERE clause (excluding the WHERE itself).

Returns

  • The number of rows deleted.

public final String getType(Uri url)

Return the MIME type of the given content URL.

Parameters

url A Uri identifying content (either a list or specific type), using the content:// scheme.

Returns

  • A MIME type for the content, or null if the URL is invalid or the type is unknown

public final Uri insert(Uri url, ContentValues values)

Inserts a row into a table at the given URL. If the content provider supports transactions the insertion will be atomic.

Parameters

url The URL of the table to insert into.
values The initial values for the newly inserted row. The key is the column name for the field. Passing an empty ContentValues will create an empty row.

Returns

  • the URL of the newly created row.

public void notifyChange(Uri uri, ContentObserver observer)

Notify registered observers that a row was updated. To register, call registerContentObserver(). By default, CursorAdapter objects will get this notification.

Parameters

observer The observer that originated the change, may be null

public void notifyChange(Uri uri, ContentObserver observer, boolean syncToNetwork)

Notify registered observers that a row was updated. To register, call registerContentObserver(). By default, CursorAdapter objects will get this notification.

Parameters

observer The observer that originated the change, may be null
syncToNetwork If true, attempt to sync the change to the network.

public final ParcelFileDescriptor openFileDescriptor(Uri uri, String mode)

Open a raw file descriptor to access data under a "content:" URI. This interacts with the underlying openFile(Uri, String) ContentProvider.openFile()} method of the provider associated with the given URI, to retrieve any file stored there.
Accepts the following URI schemes:

Parameters

uri The desired URI to open.
mode The file mode to use, as per ContentProvider.openFile.

Returns

  • Returns a new ParcelFileDescriptor pointing to the file. You own this descriptor and are responsible for closing it when done.

Throws

FileNotFoundException Throws FileNotFoundException of no file exists under the URI or the mode is invalid.

public final InputStream openInputStream(Uri uri)

Open a stream on to the content associated with a content URI. If there is no data associated with the URI, FileNotFoundException is thrown.
Accepts the following URI schemes:
The android.resource (SCHEME_ANDROID_RESOURCE) Scheme

A Uri object can be used to reference a resource in an APK file. The Uri should be one of the following formats:

  • android.resource://package_name/id_number
    package_name is your package name as listed in your AndroidManifest.xml. For example com.example.myapp
    id_number is the int form of the ID.
    The easiest way to construct this form is
    Uri uri = Uri.parse("android.resource://com.example.myapp/" + R.raw.my_resource");
  • android.resource://package_name/type/name
    package_name is your package name as listed in your AndroidManifest.xml. For example com.example.myapp
    type is the string form of the resource type. For example, raw or drawable. name is the string form of the resource name. That is, whatever the file name was in your res directory, without the type extension. The easiest way to construct this form is
    Uri uri = Uri.parse("android.resource://com.example.myapp/raw/my_resource");

Parameters

uri The desired "content:" URI.

Returns

  • InputStream

Throws

FileNotFoundException if the provided URI could not be opened.

public final OutputStream openOutputStream(Uri uri)

Open a stream on to the content associated with a content URI. If there is no data associated with the URI, FileNotFoundException is thrown.
Accepts the following URI schemes:

Parameters

uri The desired "content:" URI.

Returns

  • OutputStream

public final Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder)

Query the given URI, returning a Cursor over the result set.

Parameters

uri The URI, using the content:// scheme, for the content to retrieve.
projection A list of which columns to return. Passing null will return all columns, which is discouraged to prevent reading data from storage that isn't going to be used.
selection A filter declaring which rows to return, formatted as an SQL WHERE clause (excluding the WHERE itself). Passing null will return all rows for the given URI.
selectionArgs You may include ?s in selection, which will be replaced by the values from selectionArgs, in the order that they appear in the selection. The values will be bound as Strings.
sortOrder How to order the rows, formatted as an SQL ORDER BY clause (excluding the ORDER BY itself). Passing null will use the default sort order, which may be unordered.

Returns

  • A Cursor object, which is positioned before the first entry, or null

See Also

public final void registerContentObserver(Uri uri, boolean notifyForDescendents, ContentObserver observer)

Register an observer class that gets callbacks when data identified by a given content URI changes.

Parameters

uri The URI to watch for changes. This can be a specific row URI, or a base URI for a whole class of content.
notifyForDescendents If true changes to URIs beginning with uri will also cause notifications to be sent. If false only changes to the exact URI specified by uri will cause notifications to be sent. If true, than any URI values at or below the specified URI will also trigger a match.
observer The object that receives callbacks when changes occur.

public abstract boolean releaseProvider(IContentProvider icp)

public void startSync(Uri uri, Bundle extras)

Start an asynchronous sync operation. If you want to monitor the progress of the sync you may register a SyncObserver. Only values of the following types may be used in the extras bundle:
  • Integer
  • Long
  • Boolean
  • Float
  • Double
  • String

Parameters

uri the uri of the provider to sync or null to sync all providers.
extras any extras to pass to the SyncAdapter.

public final void unregisterContentObserver(ContentObserver observer)

Unregisters a change observer.

Parameters

observer The previously registered observer that is no longer needed.

public final int update(Uri uri, ContentValues values, String where, String[] selectionArgs)

Update row(s) in a content URI. If the content provider supports transactions the update will be atomic.

Parameters

uri The URI to modify.
values The new field values. The key is the column name for the field. A null value will remove an existing field value.
where A filter to apply to rows before deleting, formatted as an SQL WHERE clause (excluding the WHERE itself).

Returns

  • the URL of the newly created row

Throws

NullPointerException if uri or values are null

public static void validateSyncExtrasBundle(Bundle extras)

Check that only values of the following types are in the Bundle:
  • Integer
  • Long
  • Boolean
  • Float
  • Double
  • String

Parameters

extras the Bundle to check

Protected Methods

protected abstract IContentProvider acquireProvider(Context c, String name)

Copyright 2007 Google Inc. Build 0.9_r1-98467 - 14 Aug 2008 18:56