1

私は2つのURIを持っています。それらが次のようになっていると仮定します。

content://myprovider/messages
content://myprovider/messages/#

私の拡張ContentProviderで、次のことを宣言しました。

    private static final int MESSAGES = 1;
    private static final int MESSAGES_ID = 2;

    private static final UriMatcher sUriMatcher;

    static {
        sUriMatcher = new UriMatcher(UriMatcher.NO_MATCH);
        sUriMatcher.addURI("myprovider", "messages", MESSAGES);
        sUriMatcher.addURI("myprovider", "messages/#", MESSAGES_ID);
    }

私が使うとき...

content://myprovider/messages/#

...任意のContentProviderメソッド、たとえば挿入を呼び出すときのUri、および私のContentProviderメソッドは...

sUriMatcher.match(uri)

...そして私は1(メッセージ)を取り戻します。

なぜ???

4

1 に答える 1

1

を取得したい場合はMESSAGES_ID、uri を次のように記述するか、次のようなcontent://myprovider/messages/12345パターンを追加する必要があります。MESSAGES_ID

sUriMatcher.addURI("myprovider", "messages/*", MESSAGES_ID);
于 2010-11-10T05:57:39.417 に答える