Книга: Beginning Android
update()
update()
Your update()
method gets the Uri
of the instance or collection to change, a ContentValues
structure with the new values to apply, a String
for a SQL WHERE
clause, and a String[]
with parameters to use to replace ?
found in the WHERE
clause. Your responsibility is to identify the instance(s) to be modified (based on the Uri
and WHERE
clause), then replace those instances’ current property values with the ones supplied.
This will be annoying unless you’re using SQLite for storage. Then you can pretty much pass all the parameters you received to the update()
call to the database, though the update()
call will vary slightly depending on whether you are updating one instance or several.
For example, here is update()
from Provider
:
@Override
public int update(Uri url, ContentValues values, String where,
String[] whereArgs) {
int count;
if (isCollectionUri(url)) {
count = db.update(getTableName(), values, where, whereArgs);
} else {
String segment = url.getPathSegments().get(1);
count = db.update(getTableName(), values, getIdColumnName() + "="
+ segment + (!TextUtils.isEmpty(where) ? " AND (" + where + ')' : ""),
whereArgs);
}
getContext().getContentResolver().notifyChange(url, null);
return count;
}
In this case, updates can either be to a specific instance or applied across the entire collection, so we check the Uri (isCollectionUri()
) and, if it is an update for the collection, just perform the update. If we are updating a single instance, we need to add a constraint to the WHERE
clause to only update for the requested row.
- Автоматическое обновление (automatic update)
- Managing Automatic Updates in Group Policy
- Configuring Automatic Updates
- Optimizing Automatic Updates
- Using intranet update service locations
- Enabling and disabling dynamic updates
- Using the UpdatePanel Control
- Using Triggers to Cause an Update
- Displaying Progress Using the UpdateProgress Control
- Демоны bdflush и kupdated
- Быстрое обновление (fast update)
- 8.13.15 Содержание сообщения Link State Update протокола OSPF