Build 1.1_r1 (from source)

android.content
Class ContentResolver

java.lang.Object
  extended by android.content.ContentResolver
Direct Known Subclasses:
MockContentResolver

public abstract class ContentResolver
extends Object

This class provides applications access to the content model.


Field Summary
static 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.
static 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.
static String SCHEME_ANDROID_RESOURCE
           
static String SCHEME_CONTENT
           
static String SCHEME_FILE
           
static String SYNC_EXTRAS_ACCOUNT
           
static String SYNC_EXTRAS_DISCARD_LOCAL_DELETIONS
           
static String SYNC_EXTRAS_EXPEDITED
           
static String SYNC_EXTRAS_FORCE
           
static String SYNC_EXTRAS_OVERRIDE_TOO_MANY_DELETIONS
           
static String SYNC_EXTRAS_UPLOAD
           
 
Constructor Summary
ContentResolver(Context context)
           
 
Method Summary
protected abstract  IContentProvider acquireProvider(Context c, String name)
           
 IContentProvider acquireProvider(String name)
           
 IContentProvider acquireProvider(Uri uri)
          Returns the content provider for the given content URI..
 int bulkInsert(Uri url, ContentValues[] values)
          Inserts multiple rows into a table at the given URL.
 void cancelSync(Uri uri)
           
 int delete(Uri url, String where, String[] selectionArgs)
          Deletes row(s) specified by a content URI.
 String getType(Uri url)
          Return the MIME type of the given content URL.
 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.
 ParcelFileDescriptor openFileDescriptor(Uri uri, String mode)
          Open a raw file descriptor to access data under a "content:" URI.
 InputStream openInputStream(Uri uri)
          Open a stream on to the content associated with a content URI.
 OutputStream openOutputStream(Uri uri)
          Open a stream on to the content associated with a content URI.
 Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder)
          Query the given URI, returning a Cursor over the result set.
 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.
 void unregisterContentObserver(ContentObserver observer)
          Unregisters a change observer.
 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 null
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

SYNC_EXTRAS_ACCOUNT

public static final String SYNC_EXTRAS_ACCOUNT
See Also:
Constant Field Values

SYNC_EXTRAS_EXPEDITED

public static final String SYNC_EXTRAS_EXPEDITED
See Also:
Constant Field Values

SYNC_EXTRAS_FORCE

public static final String SYNC_EXTRAS_FORCE
See Also:
Constant Field Values

SYNC_EXTRAS_UPLOAD

public static final String SYNC_EXTRAS_UPLOAD
See Also:
Constant Field Values

SYNC_EXTRAS_OVERRIDE_TOO_MANY_DELETIONS

public static final String SYNC_EXTRAS_OVERRIDE_TOO_MANY_DELETIONS
See Also:
Constant Field Values

SYNC_EXTRAS_DISCARD_LOCAL_DELETIONS

public static final String SYNC_EXTRAS_DISCARD_LOCAL_DELETIONS
See Also:
Constant Field Values

SCHEME_CONTENT

public static final String SCHEME_CONTENT
See Also:
Constant Field Values

SCHEME_ANDROID_RESOURCE

public static final String SCHEME_ANDROID_RESOURCE
See Also:
Constant Field Values

SCHEME_FILE

public static final String SCHEME_FILE
See Also:
Constant Field Values

CURSOR_ITEM_BASE_TYPE

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.

See Also:
Constant Field Values

CURSOR_DIR_BASE_TYPE

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.

See Also:
Constant Field Values
Constructor Detail

ContentResolver

public ContentResolver(Context context)
Method Detail

acquireProvider

protected abstract IContentProvider acquireProvider(Context c,
                                                    String name)

releaseProvider

public abstract boolean releaseProvider(IContentProvider icp)

getType

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

query

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:
Cursor

openInputStream

public final InputStream openInputStream(Uri uri)
                                  throws FileNotFoundException
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:

Parameters:
uri - The desired "content:" URI.
Returns:
InputStream
Throws:
FileNotFoundException - if the provided URI could not be opened.

openOutputStream

public final OutputStream openOutputStream(Uri uri)
                                    throws FileNotFoundException
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
Throws:
FileNotFoundException

openFileDescriptor

public final ParcelFileDescriptor openFileDescriptor(Uri uri,
                                                     String mode)
                                              throws FileNotFoundException
Open a raw file descriptor to access data under a "content:" URI. This interacts with the underlying ContentProvider.openFile(android.net.Uri, java.lang.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.

insert

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.

bulkInsert

public final int bulkInsert(Uri url,
                            ContentValues[] values)
Inserts multiple rows into a table at the given URL. This function make no guarantees about the atomicity of the insertions.

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.

delete

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.

update

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

acquireProvider

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.

acquireProvider

public final IContentProvider acquireProvider(String name)

registerContentObserver

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.
See Also:
unregisterContentObserver(android.database.ContentObserver)

unregisterContentObserver

public final void unregisterContentObserver(ContentObserver observer)
Unregisters a change observer.

Parameters:
observer - The previously registered observer that is no longer needed.
See Also:
registerContentObserver(android.net.Uri, boolean, android.database.ContentObserver)

notifyChange

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:
uri -
observer - The observer that originated the change, may be null

notifyChange

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:
uri -
observer - The observer that originated the change, may be null
syncToNetwork - If true, attempt to sync the change to the network.

startSync

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:

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

validateSyncExtrasBundle

public static void validateSyncExtrasBundle(Bundle extras)
Check that only values of the following types are in the Bundle:

Parameters:
extras - the Bundle to check

cancelSync

public void cancelSync(Uri uri)

Build 1.1_r1 (from source)

Please submit a feedback, bug or feature