UriMatcher Klasse

Definition

Hilfsprogrammklasse zur Unterstützung beim Abgleich von URIs in Inhaltsanbietern.

[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
Vererbung
UriMatcher
Attribute

Hinweise

Hilfsprogrammklasse zur Unterstützung beim Abgleich von URIs in Inhaltsanbietern.

Um diese Klasse zu verwenden, erstellen Sie eine Struktur von UriMatcher -Objekten. Beispiel:

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);
                }

Ab API-Ebene android.os.Build.VERSION_CODES#JELLY_BEAN_MR2können Pfade mit einem führenden Schrägstrich beginnen. Beispiel:

sURIMatcher.addURI("contacts", "/people", PEOPLE);

Wenn Sie dann mit einem URI abgleichen müssen, rufen Sie #matchauf , und geben Sie die URL an, die Sie erhalten haben. Sie können das Ergebnis verwenden, um eine Abfrage zu erstellen, einen Typ zurückzugeben, eine Zeile einzufügen oder zu löschen, oder was auch immer Sie benötigen, ohne die gesamte if-else-Logik zu duplizieren, die Sie andernfalls benötigen. Beispiel:

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;
                    }
                }

Anstelle von:

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-Dokumentation für android.content.UriMatcher.

Teile dieser Seite sind Änderungen, die auf Arbeiten basieren, die vom Android Open Source Project erstellt und freigegeben wurden und gemäß den In Attribution License beschriebenen Begriffen verwendet werden.

Konstruktoren

UriMatcher(Int32)

Erstellt den Stammknoten der URI-Struktur.

UriMatcher(IntPtr, JniHandleOwnership)

Ein Konstruktor, der beim Erstellen verwalteter Darstellungen von JNI-Objekten verwendet wird; wird von der Runtime aufgerufen.

Felder

NoMatch

Eigenschaften

Class

Gibt die Laufzeitklasse dieses Objectzurück.

(Geerbt von Object)
Handle

Das Handle für die zugrunde liegende Android-instance.

(Geerbt von Object)
JniIdentityHashCode

Hilfsprogrammklasse zur Unterstützung beim Abgleich von URIs in Inhaltsanbietern.

(Geerbt von Object)
JniPeerMembers

Hilfsprogrammklasse zur Unterstützung beim Abgleich von URIs in Inhaltsanbietern.

PeerReference

Hilfsprogrammklasse zur Unterstützung beim Abgleich von URIs in Inhaltsanbietern.

(Geerbt von Object)
ThresholdClass

Diese API unterstützt die Mono für Android-Infrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code vorgesehen.

ThresholdType

Diese API unterstützt die Mono für Android-Infrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code vorgesehen.

Methoden

AddURI(String, String, Int32)

Fügen Sie einen zu übereinstimmenden URI und den Code hinzu, der zurückgegeben werden soll, wenn dieser URI abgeglichen wird.

Clone()

Erstellt und gibt eine Kopie dieses Objekts zurück.

(Geerbt von Object)
Dispose()

Hilfsprogrammklasse zur Unterstützung beim Abgleich von URIs in Inhaltsanbietern.

(Geerbt von Object)
Dispose(Boolean)

Hilfsprogrammklasse zur Unterstützung beim Abgleich von URIs in Inhaltsanbietern.

(Geerbt von Object)
Equals(Object)

Gibt an, ob ein anderes Objekt "gleich" diesem objekt ist.

(Geerbt von Object)
GetHashCode()

Gibt einen Hashcodewert für das Objekt zurück.

(Geerbt von Object)
JavaFinalize()

Wird vom Garbage Collector für ein Objekt aufgerufen, wenn die Garbage Collection feststellt, dass keine Verweise mehr auf das Objekt vorhanden sind.

(Geerbt von Object)
Match(Uri)

Versuchen Sie, mit dem Pfad in einer URL abzugleichen.

Notify()

Aktiviert einen einzelnen Thread, der auf den Monitor dieses Objekts wartet.

(Geerbt von Object)
NotifyAll()

Aktiviert alle Threads, die auf den Monitor dieses Objekts warten.

(Geerbt von Object)
SetHandle(IntPtr, JniHandleOwnership)

Legt die Handle-Eigenschaft fest.

(Geerbt von Object)
ToArray<T>()

Hilfsprogrammklasse zur Unterstützung beim Abgleich von URIs in Inhaltsanbietern.

(Geerbt von Object)
ToString()

Gibt eine Zeichenfolgendarstellung des Objekts zurück.

(Geerbt von Object)
UnregisterFromRuntime()

Hilfsprogrammklasse zur Unterstützung beim Abgleich von URIs in Inhaltsanbietern.

(Geerbt von Object)
Wait()

Bewirkt, dass der aktuelle Thread wartet, bis er aktiviert ist, in der Regel durch <>Benachrichtigung</em> oder <em>interrupted</em>.

(Geerbt von Object)
Wait(Int64)

Bewirkt, dass der aktuelle Thread wartet, bis er aktiviert ist, in der Regel durch>< Benachrichtigung</em> oder <em>interrupted</em>, oder bis eine bestimmte Menge an Echtzeit verstrichen ist.

(Geerbt von Object)
Wait(Int64, Int32)

Bewirkt, dass der aktuelle Thread wartet, bis er aktiviert ist, in der Regel durch>< Benachrichtigung</em> oder <em>interrupted</em>, oder bis eine bestimmte Menge an Echtzeit verstrichen ist.

(Geerbt von Object)

Explizite Schnittstellenimplementierungen

IJavaPeerable.Disposed()

Hilfsprogrammklasse zur Unterstützung beim Abgleich von URIs in Inhaltsanbietern.

(Geerbt von Object)
IJavaPeerable.DisposeUnlessReferenced()

Hilfsprogrammklasse zur Unterstützung beim Abgleich von URIs in Inhaltsanbietern.

(Geerbt von Object)
IJavaPeerable.Finalized()

Hilfsprogrammklasse zur Unterstützung beim Abgleich von URIs in Inhaltsanbietern.

(Geerbt von Object)
IJavaPeerable.JniManagedPeerState

Hilfsprogrammklasse zur Unterstützung beim Abgleich von URIs in Inhaltsanbietern.

(Geerbt von Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Hilfsprogrammklasse zur Unterstützung beim Abgleich von URIs in Inhaltsanbietern.

(Geerbt von Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Hilfsprogrammklasse zur Unterstützung beim Abgleich von URIs in Inhaltsanbietern.

(Geerbt von Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

Hilfsprogrammklasse zur Unterstützung beim Abgleich von URIs in Inhaltsanbietern.

(Geerbt von Object)

Erweiterungsmethoden

JavaCast<TResult>(IJavaObject)

Führt eine Typkonvertierung mit Überprüfung der Android-Laufzeit aus.

JavaCast<TResult>(IJavaObject)

Hilfsprogrammklasse zur Unterstützung beim Abgleich von URIs in Inhaltsanbietern.

GetJniTypeName(IJavaPeerable)

Hilfsprogrammklasse zur Unterstützung beim Abgleich von URIs in Inhaltsanbietern.

Gilt für: