2016-04-19 7 views
3

と一致していないここに私のウリのMatcherウリのMatcherは、ここでURI

static UriMatcher buildUriMatcher() { 
    UriMatcher mUriMatcher = new UriMatcher(UriMatcher.NO_MATCH); 

    // Bind uriMatcher int constants and uris 
    mUriMatcher.addURI(OneSpaceContract.CONTENT_AUTHORITY, OneSpaceContract.PATH_DRIVE, DRIVE_LIST); 
    mUriMatcher.addURI(OneSpaceContract.CONTENT_AUTHORITY, OneSpaceContract.PATH_DRIVE + "/#", DRIVE_ID); 
    mUriMatcher.addURI(OneSpaceContract.CONTENT_AUTHORITY, OneSpaceContract.PATH_FILE, FILE_LIST); 
    mUriMatcher.addURI(OneSpaceContract.CONTENT_AUTHORITY, OneSpaceContract.PATH_FILE + "/*", FILE_ID); 
    mUriMatcher.addURI(OneSpaceContract.CONTENT_AUTHORITY, OneSpaceContract.PATH_FILE + "/drive/#", FILE_LIST_WITH_DRIVE_ID); 
    mUriMatcher.addURI(OneSpaceContract.CONTENT_AUTHORITY, OneSpaceContract.PATH_FILE + "/file/*", FILE_LIST_WITH_FOLDER_ID); 
    mUriMatcher.addURI(OneSpaceContract.CONTENT_AUTHORITY, OneSpaceContract.PATH_FILE + "/drive/#/*", FILE_LIST_WITH_DRIVE_ID_AND_FOLDER_ID); 

    // Return the new matcher! 
    return mUriMatcher; 
} 

public static final String PATH_FILE = "file"; 

UriMatcherが

ウリ私のURIと一致していませんPATH_FILE一定である:content://olexiimuraviov.ua.onespace_diplomaproject/file/drive/11/root

ここに例外があります

java.lang.UnsupportedOperationException: 
    Unknown uri: content://olexiimuraviov.ua.onespace_diplomaproject/file/drive/11/root 
    at OneSpaceProvider.query(...) 
      

私はデバッグしようとしましたが、何も見つかりませんでした。ウリのパターンはきれいに見えますが、ウリもうまくいきますが、マッチャーはそれにマッチしません。この問題で私を助けてくれますか?前もって感謝します!

+0

おそらく2つのワイルドカードセグメント( '#/ *')を扱うことはできません。 – CommonsWare

+0

私は 'mUriMatcher.addURI(OneSpaceContract.CONTENT_AUTHORITY、OneSpaceContract.PATH_FILE +"/* "、FILE_ID);' [android.net.Uriをjava.net.URIに置き換えたUriMatcher](http://ideone.com/jLvXyo) – Selvin

+1

しかし、 'buildUriMatcher'メソッドの最後でこの行を移動すると... [それはうまくいくはずです](http://ideone.com/ACyIvY) – Selvin

答えて

2

Selvinが彼の例で述べたように、問題のあるルールはFILE_IDをバインドするルールです。セグメントの最初の部分が一致するため、そのセグメントで一致する他のルールを検索しようとはしません。そのルールを最後に移動しても問題ありません。

+0

あなたの権利、ありがとう! –

関連する問題