0

URIで選択引数を指定するか、対応するパラメーターとして指定すると、違いが生じるかどうか疑問に思っていますか? 例えば

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 を解析して分割していると思いますが、実際には違いはありませんか?

それとも、URI は ContentProvider に直接渡されるので、ContentProvider は適切な URI 解析を実装する必要がありますか?

4

1 に答える 1

0

自分でそれを理解しなければなりませんでした: たとえば、Events.CALENDAR_ID を URI パラメーターとして CalendarContract.Events.CONTENT_URI に渡してみてください。

E/AndroidRuntime(1714): java.lang.IllegalArgumentException: Invalid URI parameter: calendar_id
E/AndroidRuntime(1714):     at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:170)
于 2013-02-03T16:29:42.463 に答える