2015-07-01 4 views
2

кода параметр в UriMatcher (INT код) конструктору согласно Android Developer Document используется для «матча для корневой URI» и кода обычно NO_MATCH , который имеет значение, равное -1Что означает код Параметр в конструкторе UriMatcher?

этот ответ не ясен для меня, зачем ставить это значение и uri в методе getType в соответствии с uri в методе addUri?

ответ

2

Целочисленный код, который вы предоставляете конструктору для UriMatcher, возвращается match(), когда он вызывается с Uri, который не содержит ни власти, ни пути.

Это демонстрирует поведение:

 UriMatcher m = new UriMatcher(999); 

     m.addURI("com.example", "pathsegment", 11); 

     //found; code= 11 
     Log.i("Test", String.format("Match code= %d", m.match(Uri.parse("content://com.example/pathsegment")))); 
     //not found; code= -1 
     Log.i("Test", String.format("Match code= %d", m.match(Uri.parse("content://com.example/xxxxxx")))); 
     //root; code= 999 
     Log.i("Test", String.format("Match code= %d", m.match(Uri.parse("content:")))); 
     //root; code= 999 
     Log.i("Test", String.format("Match code= %d", m.match(Uri.parse("")))); 
Смежные вопросы