|
Build 1.0_r1(from source) | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectandroid.content.ContentProvider
android.content.SyncProvider
public class SyncProvider
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 |
|---|
public SyncProvider()
| Method Detail |
|---|
public boolean onCreate()
ContentProvider
onCreate in class ContentProvider
public Cursor query(Uri url,
String[] projectionIn,
String selection,
String[] selectionArgs,
String sort)
ContentProviderContentResolver.
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;
query in class ContentProviderurl - 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.
public Uri insert(Uri url,
ContentValues initialValues)
ContentProvidernotifyChange()
after inserting.
This method can be called from multiple
threads, as described in the
Threading section of the
Application Model overview.
insert in class ContentProviderurl - The content:// URI of the insertion request.initialValues - A set of column_name/value pairs to add to the database.
public int delete(Uri url,
String where,
String[] whereArgs)
ContentProvidernotifyDelete()
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.
delete in class ContentProviderurl - 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.
public int update(Uri url,
ContentValues initialValues,
String where,
String[] whereArgs)
ContentProvidernotifyChange()
after updating.
This method can be called from multiple
threads, as described in the
Threading section of the
Application Model overview.
update in class ContentProviderurl - 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.
public String getType(Uri url)
ContentProvidervnd.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.
getType in class ContentProviderurl - the URI to query.
|
Build 1.0_r1(from source) | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||