0

如果在URI中指定选择参数或作为相应参数指定了选择参数,那么它会产生影响吗?例如。appendQueryParameter与选择参数

Uri.Builder builder = Something.CONTENT_URI.buildUpon(); 
builder.appendQueryParameter("someColumn", "someValue"); 
Uri uri = builder.build(); 

getContext().getContentResolver().select(uri, null, null); 

getContext().getContentResolver().select(
    Something.CONTENT_URI, 
    new String[]{"someColumn"}, 
    new String[]{"someValue"} 
); 

我猜ContentResolver的内部解析并拆分URI,所以它没有真正发挥作用?

或者是直接传递给ContentProvider的URI,所以ContentProvider需要实现适当的URI解析?

回答

0

只是自己弄明白了: 尝试通过例如Events.CALENDAR_ID作为CalendarContract.Events.CONTENT_URI的URI参数,这会给出

E/AndroidRuntime(1714): java.lang.IllegalArgumentException: Invalid URI parameter: calendar_id 
E/AndroidRuntime(1714):  at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:170)