UriMatcher Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Classe utilitaire pour faciliter la correspondance des URI dans les fournisseurs de contenu.
[Android.Runtime.Register("android/content/UriMatcher", DoNotGenerateAcw=true)]
public class UriMatcher : Java.Lang.Object
[<Android.Runtime.Register("android/content/UriMatcher", DoNotGenerateAcw=true)>]
type UriMatcher = class
inherit Object
- Héritage
- Attributs
Remarques
Classe utilitaire pour faciliter la correspondance des URI dans les fournisseurs de contenu.
Pour utiliser cette classe, créez une arborescence d’objets UriMatcher . Par exemple:
private static final int PEOPLE = 1;
private static final int PEOPLE_ID = 2;
private static final int PEOPLE_PHONES = 3;
private static final int PEOPLE_PHONES_ID = 4;
private static final int PEOPLE_CONTACTMETHODS = 7;
private static final int PEOPLE_CONTACTMETHODS_ID = 8;
private static final int DELETED_PEOPLE = 20;
private static final int PHONES = 9;
private static final int PHONES_ID = 10;
private static final int PHONES_FILTER = 14;
private static final int CONTACTMETHODS = 18;
private static final int CONTACTMETHODS_ID = 19;
private static final int CALLS = 11;
private static final int CALLS_ID = 12;
private static final int CALLS_FILTER = 15;
private static final UriMatcher sURIMatcher = new UriMatcher(UriMatcher.NO_MATCH);
static
{
sURIMatcher.addURI("contacts", "people", PEOPLE);
sURIMatcher.addURI("contacts", "people/#", PEOPLE_ID);
sURIMatcher.addURI("contacts", "people/#/phones", PEOPLE_PHONES);
sURIMatcher.addURI("contacts", "people/#/phones/#", PEOPLE_PHONES_ID);
sURIMatcher.addURI("contacts", "people/#/contact_methods", PEOPLE_CONTACTMETHODS);
sURIMatcher.addURI("contacts", "people/#/contact_methods/#", PEOPLE_CONTACTMETHODS_ID);
sURIMatcher.addURI("contacts", "deleted_people", DELETED_PEOPLE);
sURIMatcher.addURI("contacts", "phones", PHONES);
sURIMatcher.addURI("contacts", "phones/filter/*", PHONES_FILTER);
sURIMatcher.addURI("contacts", "phones/#", PHONES_ID);
sURIMatcher.addURI("contacts", "contact_methods", CONTACTMETHODS);
sURIMatcher.addURI("contacts", "contact_methods/#", CONTACTMETHODS_ID);
sURIMatcher.addURI("call_log", "calls", CALLS);
sURIMatcher.addURI("call_log", "calls/filter/*", CALLS_FILTER);
sURIMatcher.addURI("call_log", "calls/#", CALLS_ID);
}
À partir du niveau android.os.Build.VERSION_CODES#JELLY_BEAN_MR2de l’API, les chemins peuvent commencer par une barre oblique de début. Par exemple:
sURIMatcher.addURI("contacts", "/people", PEOPLE);
Ensuite, lorsque vous devez correspondre à un URI, appelez #match, en fournissant l’URL que vous avez donnée. Vous pouvez utiliser le résultat pour générer une requête, retourner un type, insérer ou supprimer une ligne, ou tout ce dont vous avez besoin, sans dupliquer toute la logique if-else dont vous avez besoin. Par exemple:
public String getType(Uri url)
{
int match = sURIMatcher.match(url);
switch (match)
{
case PEOPLE:
return "vnd.android.cursor.dir/person";
case PEOPLE_ID:
return "vnd.android.cursor.item/person";
... snip ...
return "vnd.android.cursor.dir/snail-mail";
case PEOPLE_ADDRESS_ID:
return "vnd.android.cursor.item/snail-mail";
default:
return null;
}
}
Au lieu de:
public String getType(Uri url)
{
List<String> pathSegments = url.getPathSegments();
if (pathSegments.size() >= 2) {
if ("people".equals(pathSegments.get(1))) {
if (pathSegments.size() == 2) {
return "vnd.android.cursor.dir/person";
} else if (pathSegments.size() == 3) {
return "vnd.android.cursor.item/person";
... snip ...
return "vnd.android.cursor.dir/snail-mail";
} else if (pathSegments.size() == 3) {
return "vnd.android.cursor.item/snail-mail";
}
}
}
return null;
}
Java documentation pour android.content.UriMatcher.
Les parties de cette page sont des modifications basées sur le travail créé et partagé par Android Open Source et utilisées en fonction des termes décrits dans la Creative Commons 2.5 Attribution License.
Constructeurs
| Nom | Description |
|---|---|
| UriMatcher(Int32) |
Crée le nœud racine de l’arborescence d’URI. |
| UriMatcher(IntPtr, JniHandleOwnership) |
Constructeur utilisé lors de la création de représentations managées d’objets JNI ; appelée par le runtime. |
Champs
| Nom | Description |
|---|---|
| NoMatch | |
Propriétés
| Nom | Description |
|---|---|
| Class |
Retourne la classe runtime de ce |
| Handle |
Handle de l’instance Android sous-jacente. (Hérité de Object) |
| JniIdentityHashCode |
Obtient le code de hachage d’identité affecté à cet homologue Java par le runtime d’interopérabilité. (Hérité de Object) |
| JniManagedPeerState |
Classe utilitaire pour faciliter la correspondance des URI dans les fournisseurs de contenu. (Hérité de JavaObject) |
| JniPeerMembers |
Obtient les métadonnées JNI utilisées pour appeler les membres de cet homologue Java. |
| PeerReference |
Obtient la référence d’objet JNI pour cet homologue Java. (Hérité de Object) |
| ThresholdClass |
Cette API prend en charge l’infrastructure Mono pour Android et n’est pas destinée à être utilisée directement à partir de votre code. |
| ThresholdType |
Cette API prend en charge l’infrastructure Mono pour Android et n’est pas destinée à être utilisée directement à partir de votre code. |
Méthodes
| Nom | Description |
|---|---|
| AddURI(String, String, Int32) |
Ajoutez un URI à mettre en correspondance et le code à retourner lorsque cet URI est mis en correspondance. |
| Clone() |
Crée et retourne une copie de cet objet. (Hérité de Object) |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
Classe utilitaire pour faciliter la correspondance des URI dans les fournisseurs de contenu. (Hérité de JavaObject) |
| Dispose() |
Libère les ressources détenues par cet homologue Java. (Hérité de Object) |
| Dispose(Boolean) |
Libère les ressources détenues par cet homologue Java. (Hérité de Object) |
| DisposeUnlessReferenced() |
Classe utilitaire pour faciliter la correspondance des URI dans les fournisseurs de contenu. (Hérité de JavaObject) |
| Equals(Object) |
Classe utilitaire pour faciliter la correspondance des URI dans les fournisseurs de contenu. (Hérité de JavaObject) |
| Equals(Object) |
Indique si un autre objet est « égal à » celui-ci. (Hérité de Object) |
| GetHashCode() |
Retourne une valeur de code de hachage pour l’objet. (Hérité de Object) |
| JavaFinalize() |
Appelé par le garbage collector sur un objet lorsque le garbage collection détermine qu’il n’y a plus de références à l’objet. (Hérité de Object) |
| Match(Uri) |
Essayez de faire correspondre le chemin d’accès dans une URL. |
| Notify() |
Réveille un thread unique qui attend le moniteur de cet objet. (Hérité de Object) |
| NotifyAll() |
Réveille tous les threads qui attendent le moniteur de cet objet. (Hérité de Object) |
| SetHandle(IntPtr, JniHandleOwnership) |
Définit la propriété Handle. (Hérité de Object) |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
Classe utilitaire pour faciliter la correspondance des URI dans les fournisseurs de contenu. (Hérité de JavaObject) |
| ToArray<T>() |
Crée un tableau managé à partir de ce wrapper de tableau Java. (Hérité de Object) |
| ToString() |
Retourne une représentation sous forme de chaîne de l’objet. (Hérité de Object) |
| UnregisterFromRuntime() |
Annule l’inscription de cet homologue Java à partir du runtime d’interopérabilité. (Hérité de Object) |
| Wait() |
Provoque l’attente du thread actuel jusqu’à ce qu’il soit réveillé, généralement en étant <averti par em ou><em>interrompu</em>.<> (Hérité de Object) |
| Wait(Int64, Int32) |
Provoque l’attente du thread actuel jusqu’à ce qu’il soit réveillé, généralement en étant <averti> par< em>ou <em>interrompu/em<,> ou jusqu’à ce qu’une certaine quantité de temps réel s’est écoulée. (Hérité de Object) |
| Wait(Int64) |
Provoque l’attente du thread actuel jusqu’à ce qu’il soit réveillé, généralement en étant <averti> par< em>ou <em>interrompu/em<,> ou jusqu’à ce qu’une certaine quantité de temps réel s’est écoulée. (Hérité de Object) |
Implémentations d’interfaces explicites
| Nom | Description |
|---|---|
| IJavaPeerable.Disposed() |
Classe utilitaire pour faciliter la correspondance des URI dans les fournisseurs de contenu. (Hérité de JavaObject) |
| IJavaPeerable.Finalized() |
Classe utilitaire pour faciliter la correspondance des URI dans les fournisseurs de contenu. (Hérité de JavaObject) |
| IJavaPeerable.JniObjectReferenceControlBlock |
Classe utilitaire pour faciliter la correspondance des URI dans les fournisseurs de contenu. (Hérité de JavaObject) |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
Classe utilitaire pour faciliter la correspondance des URI dans les fournisseurs de contenu. (Hérité de JavaObject) |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Classe utilitaire pour faciliter la correspondance des URI dans les fournisseurs de contenu. (Hérité de JavaObject) |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
Classe utilitaire pour faciliter la correspondance des URI dans les fournisseurs de contenu. (Hérité de JavaObject) |
Méthodes d’extension
| Nom | Description |
|---|---|
| GetJniTypeName(IJavaPeerable) |
Obtient le nom JNI du type de l’instance |
| JavaAs<TResult>(IJavaPeerable) |
Essayez de forcer |
| JavaCast<TResult>(IJavaObject) |
Effectue une conversion de type vérifiée par le runtime Android. |
| JavaCast<TResult>(IJavaObject) |
Classe utilitaire pour faciliter la correspondance des URI dans les fournisseurs de contenu. |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Essayez de forcer |