UriMatcher Clase

Definición

Clase de utilidad para ayudar a buscar URI coincidentes en proveedores de contenido.

[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
Herencia
UriMatcher
Atributos

Comentarios

Clase de utilidad para ayudar a buscar URI coincidentes en proveedores de contenido.

Para usar esta clase, cree un árbol de UriMatcher objetos. Por ejemplo:

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

A partir del nivel android.os.Build.VERSION_CODES#JELLY_BEAN_MR2de API, las rutas de acceso pueden comenzar con una barra diagonal inicial. Por ejemplo:

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

A continuación, cuando necesite coincidir con un URI, llame a #matchy proporcione la dirección URL que se le ha proporcionado. Puede usar el resultado para compilar una consulta, devolver un tipo, insertar o eliminar una fila, o lo que necesite, sin duplicar toda la lógica if-else que de otro modo necesitaría. Por ejemplo:

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

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

Documentación de Java para android.content.UriMatcher.

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el proyecto de código Project y que se usan según los términos Creative Commons 2.5 Attribution License.

Constructores

UriMatcher(Int32)

Crea el nodo raíz del árbol de URI.

UriMatcher(IntPtr, JniHandleOwnership)

Constructor utilizado al crear representaciones administradas de objetos JNI; llamado por el tiempo de ejecución.

Campos

NoMatch

Propiedades

Class

Devuelve la clase en tiempo de ejecución de este Objectobjeto .

(Heredado de Object)
Handle

Identificador de la instancia de Android subyacente.

(Heredado de Object)
JniIdentityHashCode

Clase de utilidad para ayudar a buscar URI coincidentes en proveedores de contenido.

(Heredado de Object)
JniPeerMembers

Clase de utilidad para ayudar a buscar URI coincidentes en proveedores de contenido.

PeerReference

Clase de utilidad para ayudar a buscar URI coincidentes en proveedores de contenido.

(Heredado de Object)
ThresholdClass

Esta API admite la infraestructura mono para Android y no está pensada para usarse directamente desde el código.

ThresholdType

Esta API admite la infraestructura mono para Android y no está pensada para usarse directamente desde el código.

Métodos

AddURI(String, String, Int32)

Agregue un URI para que coincida y el código que se va a devolver cuando este URI coincide.

Clone()

Crea y devuelve una copia de este objeto.

(Heredado de Object)
Dispose()

Clase de utilidad para ayudar a buscar URI coincidentes en proveedores de contenido.

(Heredado de Object)
Dispose(Boolean)

Clase de utilidad para ayudar a buscar URI coincidentes en proveedores de contenido.

(Heredado de Object)
Equals(Object)

Indica si algún otro objeto es "igual a" este.

(Heredado de Object)
GetHashCode()

Devuelve un valor de código hash del objeto.

(Heredado de Object)
JavaFinalize()

Lo llama el recolector de elementos no utilizados en un objeto cuando la recolección de elementos no utilizados determina que no hay más referencias al objeto .

(Heredado de Object)
Match(Uri)

Intente buscar coincidencias con la ruta de acceso de una dirección URL.

Notify()

Activa un único subproceso que está esperando en el monitor de este objeto.

(Heredado de Object)
NotifyAll()

Activa todos los subprocesos que están esperando en el monitor de este objeto.

(Heredado de Object)
SetHandle(IntPtr, JniHandleOwnership)

Establece la propiedad Handle.

(Heredado de Object)
ToArray<T>()

Clase de utilidad para ayudar a buscar URI coincidentes en proveedores de contenido.

(Heredado de Object)
ToString()

Devuelve una representación de cadena del objeto.

(Heredado de Object)
UnregisterFromRuntime()

Clase de utilidad para ayudar a buscar URI coincidentes en proveedores de contenido.

(Heredado de Object)
Wait()

Hace que el subproceso actual espere hasta que se despierte, normalmente por ser em notificado/em> o <em>interrumpido</em>.<><

(Heredado de Object)
Wait(Int64)

Hace que el subproceso actual espere hasta que se despierte, normalmente por ser <em>notificado</em> o <em>interrumpido</em>, o hasta que haya transcurrido una cierta cantidad de tiempo real.

(Heredado de Object)
Wait(Int64, Int32)

Hace que el subproceso actual espere hasta que se despierte, normalmente por ser <em>notificado</em> o <em>interrumpido</em>, o hasta que haya transcurrido una cierta cantidad de tiempo real.

(Heredado de Object)

Implementaciones de interfaz explícitas

IJavaPeerable.Disposed()

Clase de utilidad para ayudar a buscar URI coincidentes en proveedores de contenido.

(Heredado de Object)
IJavaPeerable.DisposeUnlessReferenced()

Clase de utilidad para ayudar a buscar URI coincidentes en proveedores de contenido.

(Heredado de Object)
IJavaPeerable.Finalized()

Clase de utilidad para ayudar a buscar URI coincidentes en proveedores de contenido.

(Heredado de Object)
IJavaPeerable.JniManagedPeerState

Clase de utilidad para ayudar a buscar URI coincidentes en proveedores de contenido.

(Heredado de Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Clase de utilidad para ayudar a buscar URI coincidentes en proveedores de contenido.

(Heredado de Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Clase de utilidad para ayudar a buscar URI coincidentes en proveedores de contenido.

(Heredado de Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

Clase de utilidad para ayudar a buscar URI coincidentes en proveedores de contenido.

(Heredado de Object)

Métodos de extensión

JavaCast<TResult>(IJavaObject)

Realiza una conversión de tipos comprobados en tiempo de ejecución de Android.

JavaCast<TResult>(IJavaObject)

Clase de utilidad para ayudar a buscar URI coincidentes en proveedores de contenido.

GetJniTypeName(IJavaPeerable)

Clase de utilidad para ayudar a buscar URI coincidentes en proveedores de contenido.

Se aplica a