java.lang.Object | |||
android.content.ContentProvider | ComponentCallbacks | ||
android.content.SearchRecentSuggestionsProvider |
This superclass can be used to create a simple search suggestions provider for your application. It creates suggestions (as the user types) based on recent queries and/or recent views.
In order to use this class, you must do the following.
<!-- Content provider for search suggestions --> <provider android:name="YourSuggestionProviderClass" android:authorities="your.suggestion.authority" />
android:searchSuggestAuthority="your.suggestion.authority" android:searchSuggestSelection=" ? "
Value | ||||
---|---|---|---|---|
int | DATABASE_MODE_2LINES | This mode bit configures the database to include a 2nd annotation line with each entry. | 2 | 0x00000002 |
int | DATABASE_MODE_QUERIES | This mode bit configures the database to record recent queries. | 1 | 0x00000001 |
SearchRecentSuggestionsProvider() |
int | delete(Uri uri, String selection, String[] selectionArgs) | |||||
A request to delete one or more rows. | ||||||
String | getType(Uri uri) | |||||
Return the MIME type of the data at the given URI. | ||||||
Uri | insert(Uri uri, ContentValues values) | |||||
Note: This table has on-conflict-replace semantics so this insert() may actually replace() | ||||||
boolean | onCreate() | |||||
Called when the provider is being started. | ||||||
Cursor | query(Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder) | |||||
Receives a query request from a client in a local process, and returns a Cursor. | ||||||
int | update(Uri uri, ContentValues values, String selection, String[] selectionArgs) | |||||
Update a content URI. |
void | setupSuggestions(String authority, int mode) | |||||
In order to use this class, you must extend it, and call this setup function from your constructor. |
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.
uri | The full URI to query, including a row ID (if a specific record is requested). |
---|---|
selection | An optional restriction to apply to rows when deleting. |
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.
uri | the URI to query. |
---|
uri | The content:// URI of the insertion request. |
---|---|
values | A set of column_name/value pairs to add to the database. |
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;
uri | 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. |
---|---|
projection | 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. |
sortOrder | How the rows in the cursor should be sorted. If null then the provider is free to define the sort order. |
uri | The URI to query. This can potentially have a record ID if this is an update request for a specific record. |
---|---|
values | A Bundle mapping from column names to new column values (NULL is a valid value). |
selection | An optional filter to match rows to update. |
authority | This must match the authority that you've declared in your manifest. |
---|---|
mode | You can use mode flags here to determine certain functional aspects of your database. Note, this value should not change from run to run, because when it does change, your suggestions database may be wiped. |
Copyright 2007 Google Inc. | Build 0.9_r1-98467 - 14 Aug 2008 18:48 |