Uri uri = ContentUris.withAppendedId((MediaStore.Images.Media.EXTERNAL_CONTENT_URI, id);
我几分钟前刚从一个网站上找到这个,http://www.grokkingandroid.com/android-tutorial-using-content-providers/
values.clear();
values.put(Words.WORD, "Zaphod");
Uri uri = ContentUris.withAppendedId(Words.CONTENT_URI, id);
long noUpdated = resolver.update(uri, values, null, null)
这里引用了作者的话,“因为我只更改了一条记录,所以一个带有附加ID的URI就足够了。但是如果你想更新多个值,你应该使用普通的URI和一个选择子句。”
所以他说要使用“普通URI和选择子句”,那么我该怎么做呢?
String selection = MediaStore.Images.Media.DATA + "='" + filename +"'";
我不确定我是否理解了您的问题,但关于当您询问如何执行普通URI和选择子句的部分,“诀窍”是使用内容提供程序时,您不会将整个选择放在一个参数中,如下所示:
String selection = MediaStore.Images.Media.DATA + "='" + filename +"'";
而是通过不同的输入变量引入选择类型和选择参数。例如,
update where MediaStore.Images.Media.DATA equals filename
变成:
update (uri, contentValues, String selection, String[] selectionArgs)
MediaStore.Images.Media.DATA + " = ?";
{filename}