AppSearchManager Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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
- 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 -> {
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 -> {
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 -> {
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 |
| 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 |
| CreateGlobalSearchSession(IExecutor, IConsumer) |
Cria um novo |
| CreateSearchSession(AppSearchManager+SearchContext, IExecutor, IConsumer) |
Cria um novo |
| 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 |
| JavaAs<TResult>(IJavaPeerable) |
Tente coagir a digitar |
| 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 |