AppSearchManager Clase

Definición

Proporciona acceso al índice centralizado de AppSearch mantenido por el sistema.

[Android.Runtime.Register("android/app/appsearch/AppSearchManager", ApiSince=31, DoNotGenerateAcw=true)]
public class AppSearchManager : Java.Lang.Object
[<Android.Runtime.Register("android/app/appsearch/AppSearchManager", ApiSince=31, DoNotGenerateAcw=true)>]
type AppSearchManager = class
    inherit Object
Herencia
AppSearchManager
Atributos

Comentarios

Proporciona acceso al índice centralizado de AppSearch mantenido por el sistema.

AppSearch es una biblioteca de búsqueda sin conexión en el dispositivo para administrar datos estructurados con características:

<UL><LI>API para indexar y recuperar datos a través de la búsqueda de texto completo. <li>Una API para que las aplicaciones concedan explícitamente permiso de acceso de lectura de sus datos a otras aplicaciones. <b>Consulte: SetSchemaRequest.Builder#setSchemaTypeVisibilityForPackage</b><li>Una API para que las aplicaciones opten o no por tener sus datos mostrados en las superficies de la interfaz de usuario del sistema por el querier global designado por el sistema. <b>Ver: SetSchemaRequest.Builder#setSchemaTypeDisplayedBySystem</b></ul>

Las aplicaciones crean una base de datos abriendo un AppSearchSession.

Ejemplo:

AppSearchManager appSearchManager = context.getSystemService(AppSearchManager.class);

            AppSearchManager.SearchContext searchContext = new AppSearchManager.SearchContext.Builder().
               setDatabaseName(dbName).build());
            appSearchManager.createSearchSession(searchContext, mExecutor, appSearchSessionResult -&gt; {
                 mAppSearchSession = appSearchSessionResult.getResultValue();
            });

Después de abrir la sesión, se debe establecer un esquema para definir la estructura organizativa de los datos. El esquema se establece llamando a AppSearchSession#setSchema. El esquema se compone de una colección de AppSearchSchema objetos, cada uno de los cuales define un tipo único de datos.

Ejemplo:

AppSearchSchema emailSchemaType = new AppSearchSchema.Builder("Email")
                .addProperty(new StringPropertyConfig.Builder("subject")
                   .setCardinality(PropertyConfig.CARDINALITY_OPTIONAL)
                   .setIndexingType(PropertyConfig.INDEXING_TYPE_PREFIXES)
                   .setTokenizerType(PropertyConfig.TOKENIZER_TYPE_PLAIN)
               .build()
            ).build();

            SetSchemaRequest request = new SetSchemaRequest.Builder().addSchema(emailSchemaType).build();
            mAppSearchSession.set(request, mExecutor, appSearchResult -&gt; {
                 if (appSearchResult.isSuccess()) {
                      // Schema has been successfully set.
                 }
            });

La unidad básica de datos de AppSearch se representa como un objeto , que contiene un GenericDocument identificador, un espacio de nombres, un período de vida, una puntuación y propiedades. Un espacio de nombres organiza un grupo lógico de documentos. Por ejemplo, se puede crear un espacio de nombres para agrupar documentos por cuenta. Un identificador identifica un único documento dentro de un espacio de nombres. La combinación de espacio de nombres e identificador identifica de forma única un elemento GenericDocument en la base de datos.

Una vez establecido el esquema, GenericDocument los objetos se pueden colocar en la base de datos e indexados llamando a AppSearchSession#put.

Ejemplo:

// Although for this example we use GenericDocument directly, we recommend extending
            // GenericDocument to create specific types (i.e. Email) with specific setters/getters.
            GenericDocument email = new GenericDocument.Builder<>(NAMESPACE, ID, EMAIL_SCHEMA_TYPE)
                .setPropertyString(“subject”, EMAIL_SUBJECT)
                .setScore(EMAIL_SCORE)
                .build();

            PutDocumentsRequest request = new PutDocumentsRequest.Builder().addGenericDocuments(email)
                .build();
            mAppSearchSession.put(request, mExecutor, appSearchBatchResult -&gt; {
                 if (appSearchBatchResult.isSuccess()) {
                      // All documents have been successfully indexed.
                 }
            });

La búsqueda en la base de datos se realiza mediante una llamada AppSearchSession#search a y proporciona la cadena de consulta para buscar, así como un SearchSpec.

Como alternativa, AppSearchSession#getByDocumentId se puede llamar a para recuperar documentos por espacio de nombres e identificador.

La eliminación de documentos se realiza mediante expiración de período de vida o llamando explícitamente a una operación de eliminación. Las operaciones de eliminación se pueden realizar mediante el espacio de nombres y el identificador a través AppSearchSession#remove(RemoveByDocumentIdRequest, Executor, BatchResultCallback)de , o mediante consulta a través AppSearchSession#remove(String, SearchSpec, Executor, Consumer)de .

Java documentación para android.app.appsearch.AppSearchManager.

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el Android y se usan según los términos descritos en creative Creative Commons 2.5 Attribution License.

Constructores

Nombre Description
AppSearchManager(IntPtr, JniHandleOwnership)

Proporciona acceso al índice centralizado de AppSearch mantenido por el sistema.

Propiedades

Nombre Description
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

Obtiene el código hash de identidad asignado a este Java del mismo nivel por el tiempo de ejecución de interoperabilidad.

(Heredado de Object)
JniManagedPeerState

Proporciona acceso al índice centralizado de AppSearch mantenido por el sistema.

(Heredado de JavaObject)
JniPeerMembers

Proporciona acceso al índice centralizado de AppSearch mantenido por el sistema.

PeerReference

Obtiene la referencia de objeto JNI para este Java del mismo nivel.

(Heredado de Object)
ThresholdClass

Proporciona acceso al índice centralizado de AppSearch mantenido por el sistema.

ThresholdType

Proporciona acceso al índice centralizado de AppSearch mantenido por el sistema.

Métodos

Nombre Description
Clone()

Crea y devuelve una copia de este objeto.

(Heredado de Object)
Construct(JniObjectReference, JniObjectReferenceOptions)

Proporciona acceso al índice centralizado de AppSearch mantenido por el sistema.

(Heredado de JavaObject)
CreateEnterpriseGlobalSearchSession(IExecutor, IConsumer)

Crea un nuevo EnterpriseGlobalSearchSession

CreateGlobalSearchSession(IExecutor, IConsumer)

Crea un nuevo GlobalSearchSessionobjeto .

CreateSearchSession(AppSearchManager+SearchContext, IExecutor, IConsumer)

Crea un nuevo AppSearchSessionobjeto .

Dispose()

Libera los recursos mantenidos por este Java del mismo nivel.

(Heredado de Object)
Dispose(Boolean)

Libera los recursos mantenidos por este Java del mismo nivel.

(Heredado de Object)
DisposeUnlessReferenced()

Proporciona acceso al índice centralizado de AppSearch mantenido por el sistema.

(Heredado de JavaObject)
Equals(Object)

Proporciona acceso al índice centralizado de AppSearch mantenido por el sistema.

(Heredado de JavaObject)
Equals(Object)

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

(Heredado de Object)
GetHashCode()

Devuelve un valor de código hash para el 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)
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)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

Proporciona acceso al índice centralizado de AppSearch mantenido por el sistema.

(Heredado de JavaObject)
ToArray<T>()

Crea una matriz administrada a partir de este contenedor de matriz Java.

(Heredado de Object)
ToString()

Devuelve una representación de cadena del objeto .

(Heredado de Object)
UnregisterFromRuntime()

Anula el registro de este Java del mismo nivel del tiempo de ejecución de interoperabilidad.

(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, 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)
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)

Implementaciones de interfaz explícitas

Nombre Description
IJavaPeerable.Disposed()

Proporciona acceso al índice centralizado de AppSearch mantenido por el sistema.

(Heredado de JavaObject)
IJavaPeerable.Finalized()

Proporciona acceso al índice centralizado de AppSearch mantenido por el sistema.

(Heredado de JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

Proporciona acceso al índice centralizado de AppSearch mantenido por el sistema.

(Heredado de JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Proporciona acceso al índice centralizado de AppSearch mantenido por el sistema.

(Heredado de JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Proporciona acceso al índice centralizado de AppSearch mantenido por el sistema.

(Heredado de JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

Proporciona acceso al índice centralizado de AppSearch mantenido por el sistema.

(Heredado de JavaObject)

Métodos de extensión

Nombre Description
GetJniTypeName(IJavaPeerable)

Obtiene el nombre JNI del tipo de la instancia self.

JavaAs<TResult>(IJavaPeerable)

Intente coerción self para escribir TResult, comprobando que la coerción es válida en el lado de Java.

JavaCast<TResult>(IJavaObject)

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

JavaCast<TResult>(IJavaObject)

Proporciona acceso al índice centralizado de AppSearch mantenido por el sistema.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Intente coerción self para escribir TResult, comprobando que la coerción es válida en el lado de Java.

Se aplica a