我想使用方法ContentResolver.update(Uri uri, ContentValues values, String where, String[] selectionArgs)
我知道如何使用它,但我想知道它对ContentValues的作用。它是否覆盖所有现有的ContentValues,还是仅覆盖给定的ContentValues?
例如,这些ContentValues存在:
A: abc
B: 123
C: 456
update()
方法中的ContentValues包含:
A: asdf
C: 789
然后新的ContentValues将:(仅覆盖给定的值)
A: asdf
B: 123
C: 789
或者是:(覆盖所有值)
A: asdf
C: 789
这是我的代码:
contentResolver.update(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, values, "_data=" + audioFilePath, null);
其中values
包含应覆盖的ContentValues
,audioFilePath
包含audiofile的路径(_data
的值)。
答案 0 :(得分:2)
它只会覆盖给定的ContentValues。
答案 1 :(得分:2)
As per the documentation,所有ContentResolver.update()方法都会调用您在第一个参数中提供的URI定义和标识的ContentProvider的更新方法。
因此,要确切知道发生了什么,您需要了解如何定义要引用的ContentProvider的update()方法。 Take a look at the ContentProvider basics documentation.如果您需要帮助正确定义contentProvider的update()方法,请在此处发布您的代码或提出具体问题。