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)