UriMatcher

 

UriMatcher est une classe utilitaire qui permet de comparer deux uri. Fort intéressant dans les Content Provider !

 

Pour utiliser cette classe, il suffit d'instancier celle-ci:

private static final UriMatcher sURIMatcher = new UriMatcher(UriMatcher.NO_MATCH);

Puis d'indiquer l'ensemble des uris qui pourront être à tester. Avec la possibilité d'utiliser des jokers, sinon, ce serait galère !

* remplace des caractères

# remplace unes séries de chiffres

static
{

sURIMatcher.addURI("autorithy", "data_path", CSTEURI1);
sURIMatcher.addURI("autorithy", "data_path/#", CSTEURI2);

}

L'idée: dès qu'une URI passée en paramètre ressemble à l'une des URI définies dans l'instance UriMatcher, cette instance retourne le n° (CSTEURIn) correspondant. Il ne restera plus qu'à tester cette valeur afin d'exécuter le code correspondant.

 

int match = sURIMatcher.match(url);
switch (match)
{

case CSTEURI1:

[...]

}