AppSearchManager Classe

Definição

Fornece acesso ao índice Centralizado AppSearch mantido pelo 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
Herança
AppSearchManager
Atributos

Comentários

Fornece acesso ao índice Centralizado AppSearch mantido pelo sistema.

O AppSearch é uma biblioteca de pesquisa offline no dispositivo para gerenciar dados estruturados com:

<APIs ul><li>para indexar e recuperar dados por meio da pesquisa de texto completo. <li>Uma API para aplicativos concederem explicitamente a permissão de acesso de leitura de seus dados a outros aplicativos. <b>Consulte: SetSchemaRequest.Builder#setSchemaTypeVisibilityForPackage</b><li>Uma API para aplicativos aceitarem ou não ter seus dados exibidos em superfícies de interface do usuário do sistema pelo querier global designado pelo sistema. <b>Consulte: SetSchemaRequest.Builder#setSchemaTypeDisplayedBySystem</b></ul>

Os aplicativos criam um banco de dados abrindo um AppSearchSession.

Exemplo:

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

Depois de abrir a sessão, um esquema deve ser definido para definir a estrutura organizacional dos dados. O esquema é definido chamando AppSearchSession#setSchema. O esquema é composto por uma coleção de AppSearchSchema objetos, cada um dos quais define um tipo exclusivo de dados.

Exemplo:

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

A unidade básica de dados no AppSearch é representada como um GenericDocument objeto, contendo uma ID, namespace, vida útil, pontuação e propriedades. Um namespace organiza um grupo lógico de documentos. Por exemplo, um namespace pode ser criado para agrupar documentos por conta. Uma ID identifica um único documento em um namespace. A combinação de namespace e ID identifica exclusivamente um GenericDocument no banco de dados.

Depois que o esquema tiver sido definido, GenericDocument os objetos poderão ser colocados no banco de dados e indexados chamando AppSearchSession#put.

Exemplo:

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

A pesquisa dentro do banco de dados é feita chamando AppSearchSession#search e fornecendo a cadeia de caracteres de consulta a ser pesquisada, bem como um SearchSpec.

Como alternativa, AppSearchSession#getByDocumentId pode ser chamado para recuperar documentos por namespace e ID.

A remoção do documento é feita por expiração de tempo de vida útil ou chamando explicitamente uma operação de remoção. As operações de remoção podem ser feitas por namespace e ID via AppSearchSession#remove(RemoveByDocumentIdRequest, Executor, BatchResultCallback), ou por consulta via AppSearchSession#remove(String, SearchSpec, Executor, Consumer).

Java documentação para android.app.appsearch.AppSearchManager.

Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Project Open Source do Open Source e usadas de acordo com os termos descritos na Creative Commons 2.5.

Construtores

Nome Description
AppSearchManager(IntPtr, JniHandleOwnership)

Fornece acesso ao índice Centralizado AppSearch mantido pelo sistema.

Propriedades

Nome Description
Class

Retorna a classe de runtime deste Object.

(Herdado de Object)
Handle

O identificador para a instância subjacente do Android.

(Herdado de Object)
JniIdentityHashCode

Obtém o código de hash de identidade atribuído a esse par Java pelo runtime de interoperabilidade.

(Herdado de Object)
JniManagedPeerState

Fornece acesso ao índice Centralizado AppSearch mantido pelo sistema.

(Herdado de JavaObject)
JniPeerMembers

Fornece acesso ao índice Centralizado AppSearch mantido pelo sistema.

PeerReference

Obtém a referência de objeto JNI para este par Java.

(Herdado de Object)
ThresholdClass

Fornece acesso ao índice Centralizado AppSearch mantido pelo sistema.

ThresholdType

Fornece acesso ao índice Centralizado AppSearch mantido pelo sistema.

Métodos

Nome Description
Clone()

Cria e retorna uma cópia desse objeto.

(Herdado de Object)
Construct(JniObjectReference, JniObjectReferenceOptions)

Fornece acesso ao índice Centralizado AppSearch mantido pelo sistema.

(Herdado de JavaObject)
CreateEnterpriseGlobalSearchSession(IExecutor, IConsumer)

Cria um novo EnterpriseGlobalSearchSession

CreateGlobalSearchSession(IExecutor, IConsumer)

Cria um novo GlobalSearchSession.

CreateSearchSession(AppSearchManager+SearchContext, IExecutor, IConsumer)

Cria um novo AppSearchSession.

Dispose()

Libera os recursos mantidos por esse par Java.

(Herdado de Object)
Dispose(Boolean)

Libera os recursos mantidos por esse par Java.

(Herdado de Object)
DisposeUnlessReferenced()

Fornece acesso ao índice Centralizado AppSearch mantido pelo sistema.

(Herdado de JavaObject)
Equals(Object)

Fornece acesso ao índice Centralizado AppSearch mantido pelo sistema.

(Herdado de JavaObject)
Equals(Object)

Indica se algum outro objeto é "igual a" este.

(Herdado de Object)
GetHashCode()

Retorna um valor de código hash para o objeto.

(Herdado de Object)
JavaFinalize()

Chamado pelo coletor de lixo em um objeto quando a coleta de lixo determina que não há mais referências ao objeto.

(Herdado de Object)
Notify()

Ativa um único thread que está aguardando no monitor deste objeto.

(Herdado de Object)
NotifyAll()

Ativa todos os threads que estão aguardando no monitor deste objeto.

(Herdado de Object)
SetHandle(IntPtr, JniHandleOwnership)

Define a propriedade Handle

(Herdado de Object)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

Fornece acesso ao índice Centralizado AppSearch mantido pelo sistema.

(Herdado de JavaObject)
ToArray<T>()

Cria uma matriz gerenciada com base nesse wrapper de matriz Java.

(Herdado de Object)
ToString()

Retorna uma representação de cadeia de caracteres do objeto.

(Herdado de Object)
UnregisterFromRuntime()

Cancela o registro desse par Java do runtime de interoperabilidade.

(Herdado de Object)
Wait()

Faz com que o thread atual aguarde até ser despertado, normalmente por ser <notificado/em> ou <em>interrompido</em>.<>

(Herdado de Object)
Wait(Int64, Int32)

Faz com que o thread atual aguarde até que ele seja despertado, normalmente por ser <>notificado</em> ou <em>interrompido</em>, ou até que uma determinada quantidade de tempo real tenha decorrido.

(Herdado de Object)
Wait(Int64)

Faz com que o thread atual aguarde até que ele seja despertado, normalmente por ser <>notificado</em> ou <em>interrompido</em>, ou até que uma determinada quantidade de tempo real tenha decorrido.

(Herdado de Object)

Implantações explícitas de interface

Nome Description
IJavaPeerable.Disposed()

Fornece acesso ao índice Centralizado AppSearch mantido pelo sistema.

(Herdado de JavaObject)
IJavaPeerable.Finalized()

Fornece acesso ao índice Centralizado AppSearch mantido pelo sistema.

(Herdado de JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

Fornece acesso ao índice Centralizado AppSearch mantido pelo sistema.

(Herdado de JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Fornece acesso ao índice Centralizado AppSearch mantido pelo sistema.

(Herdado de JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Fornece acesso ao índice Centralizado AppSearch mantido pelo sistema.

(Herdado de JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

Fornece acesso ao índice Centralizado AppSearch mantido pelo sistema.

(Herdado de JavaObject)

Métodos de Extensão

Nome Description
GetJniTypeName(IJavaPeerable)

Obtém o nome JNI do tipo da instância self.

JavaAs<TResult>(IJavaPeerable)

Tente coagir a digitar selfTResult, verificando se a coerção é válida no lado Java.

JavaCast<TResult>(IJavaObject)

Executa uma conversão de tipo marcada por runtime do Android.

JavaCast<TResult>(IJavaObject)

Fornece acesso ao índice Centralizado AppSearch mantido pelo sistema.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Tente coagir a digitar selfTResult, verificando se a coerção é válida no lado Java.

Aplica-se a