Build 1.0_r1(from source)

android.content
Class SyncProvider

java.lang.Object
  extended by android.content.ContentProvider
      extended by android.content.SyncProvider
All Implemented Interfaces:
ComponentCallbacks

public class SyncProvider
extends ContentProvider

ContentProvider that tracks the sync data and overall sync history on the device.


Nested Class Summary
 
Nested classes/interfaces inherited from class android.content.ContentProvider
ContentProvider.Transport
 
Constructor Summary
SyncProvider()
           
 
Method Summary
 int delete(Uri url, String where, String[] whereArgs)
          A request to delete one or more rows.
 String getType(Uri url)
          Return the MIME type of the data at the given URI.
 Uri insert(Uri url, ContentValues initialValues)
          Implement this to insert a new row.
 boolean onCreate()
          Called when the provider is being started.
 Cursor query(Uri url, String[] projectionIn, String selection, String[] selectionArgs, String sort)
          Receives a query request from a client in a local process, and returns a Cursor.
 int update(Uri url, ContentValues initialValues, String where, String[] whereArgs)
          Update a content URI.
 
Methods inherited from class android.content.ContentProvider
attachInfo, bulkInsert, coerceToLocalContentProvider, getContext, getIContentProvider, getReadPermission, getSyncAdapter, getWritePermission, isTemporary, onConfigurationChanged, onLowMemory, openFile, openFileHelper, setReadPermission, setWritePermission
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SyncProvider

public SyncProvider()
Method Detail

onCreate

public boolean onCreate()
Description copied from class: ContentProvider
Called when the provider is being started.

Specified by:
onCreate in class ContentProvider
Returns:
true if the provider was successfully loaded, false otherwise

query

public Cursor query(Uri url,
                    String[] projectionIn,
                    String selection,
                    String[] selectionArgs,
                    String sort)
Description copied from class: ContentProvider
Receives a query request from a client in a local process, and returns a Cursor. This is called internally by the ContentResolver. This method can be called from multiple threads, as described in the Threading section of the Application Model overview.

Example client call:

// Request a specific record.
 Cursor managedCursor = managedQuery(
                Contacts.People.CONTENT_URI.addId(2),
                projection,    // Which columns to return.
                null,          // WHERE clause.
                People.NAME + " ASC");   // Sort order.
Example implementation:

// SQLiteQueryBuilder is a helper class that creates the
        // proper SQL syntax for us.
        SQLiteQueryBuilder qBuilder = new SQLiteQueryBuilder();

        // Set the table we're querying.
        qBuilder.setTables(DATABASE_TABLE_NAME);

        // If the query ends in a specific record number, we're
        // being asked for a specific record, so set the
        // WHERE clause in our query.
        if((URI_MATCHER.match(uri)) == SPECIFIC_MESSAGE){
            qBuilder.appendWhere("_id=" + uri.getPathLeafId());
        }

        // Make the query.
        Cursor c = qBuilder.query(mDb,
                projection,
                selection,
                selectionArgs,
                groupBy,
                having,
                sortOrder);
        c.setNotificationUri(getContext().getContentResolver(), uri);
        return c;

Specified by:
query in class ContentProvider
Parameters:
url - The URI to query. This will be the full URI sent by the client; if the client is requesting a specific record, the URI will end in a record number that the implementation should parse and add to a WHERE or HAVING clause, specifying that _id value.
projectionIn - The list of columns to put into the cursor. If null all columns are included.
selection - A selection criteria to apply when filtering rows. If null then all rows are included.
sort - How the rows in the cursor should be sorted. If null then the provider is free to define the sort order.
Returns:
a Cursor or null.

insert

public Uri insert(Uri url,
                  ContentValues initialValues)
Description copied from class: ContentProvider
Implement this to insert a new row. As a courtesy, call notifyChange() after inserting. This method can be called from multiple threads, as described in the Threading section of the Application Model overview.

Specified by:
insert in class ContentProvider
Parameters:
url - The content:// URI of the insertion request.
initialValues - A set of column_name/value pairs to add to the database.
Returns:
The URI for the newly inserted item.

delete

public int delete(Uri url,
                  String where,
                  String[] whereArgs)
Description copied from class: ContentProvider
A request to delete one or more rows. The selection clause is applied when performing the deletion, allowing the operation to affect multiple rows in a directory. As a courtesy, call notifyDelete() after deleting. This method can be called from multiple threads, as described in the Threading section of the Application Model overview.

The implementation is responsible for parsing out a row ID at the end of the URI, if a specific row is being deleted. That is, the client would pass in content://contacts/people/22 and the implementation is responsible for parsing the record number (22) when creating a SQL statement.

Specified by:
delete in class ContentProvider
Parameters:
url - The full URI to query, including a row ID (if a specific record is requested).
where - An optional restriction to apply to rows when deleting.
Returns:
The number of rows affected.

update

public int update(Uri url,
                  ContentValues initialValues,
                  String where,
                  String[] whereArgs)
Description copied from class: ContentProvider
Update a content URI. All rows matching the optionally provided selection will have their columns listed as the keys in the values map with the values of those keys. As a courtesy, call notifyChange() after updating. This method can be called from multiple threads, as described in the Threading section of the Application Model overview.

Specified by:
update in class ContentProvider
Parameters:
url - The URI to query. This can potentially have a record ID if this is an update request for a specific record.
initialValues - A Bundle mapping from column names to new column values (NULL is a valid value).
where - An optional filter to match rows to update.
Returns:
the number of rows affected.

getType

public String getType(Uri url)
Description copied from class: ContentProvider
Return the MIME type of the data at the given URI. This should start with vnd.android.cursor.item for a single record, or vnd.android.cursor.dir/ for multiple items. This method can be called from multiple threads, as described in the Threading section of the Application Model overview.

Specified by:
getType in class ContentProvider
Parameters:
url - the URI to query.
Returns:
a MIME type string, or null if there is no type.

Build 1.0_r1(from source)

Please submit a feedback, bug or feature