と一致していないここに私のウリの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(...)
私はデバッグしようとしましたが、何も見つかりませんでした。ウリのパターンはきれいに見えますが、ウリもうまくいきますが、マッチャーはそれにマッチしません。この問題で私を助けてくれますか?前もって感謝します!
おそらく2つのワイルドカードセグメント( '#/ *')を扱うことはできません。 – CommonsWare
私は 'mUriMatcher.addURI(OneSpaceContract.CONTENT_AUTHORITY、OneSpaceContract.PATH_FILE +"/* "、FILE_ID);' [android.net.Uriをjava.net.URIに置き換えたUriMatcher](http://ideone.com/jLvXyo) – Selvin
しかし、 'buildUriMatcher'メソッドの最後でこの行を移動すると... [それはうまくいくはずです](http://ideone.com/ACyIvY) – Selvin