UriMatcher Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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
- 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_MR2
kö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 #match
auf , 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 |
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. |