ContentProvider 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.
Os provedores de conteúdo são um dos principais blocos de construção de aplicativos Android, fornecendo conteúdo para aplicativos.
[Android.Runtime.Register("android/content/ContentProvider", DoNotGenerateAcw=true)]
public abstract class ContentProvider : Java.Lang.Object, Android.Content.IComponentCallbacks2, IDisposable
[<Android.Runtime.Register("android/content/ContentProvider", DoNotGenerateAcw=true)>]
type ContentProvider = class
inherit Object
interface IComponentCallbacks
interface IJavaObject
interface IDisposable
interface IJavaPeerable
interface IComponentCallbacks2
- Herança
- Derivado
- Atributos
- Implementações
Comentários
Os provedores de conteúdo são um dos principais blocos de construção de aplicativos Android, fornecendo conteúdo para aplicativos. Eles encapsulam os dados e fornecem-nos aos aplicativos por meio da interface única ContentResolver . Um provedor de conteúdo só será necessário se você precisar compartilhar dados entre vários aplicativos. Por exemplo, os dados de contatos são usados por vários aplicativos e devem ser armazenados em um provedor de conteúdo. Se você não precisar compartilhar dados entre vários aplicativos, poderá usar um banco de dados diretamente por meio android.database.sqlite.SQLiteDatabasede .
Quando uma solicitação é feita por meio de um ContentResolver sistema inspeciona a autoridade do URI fornecido e passa a solicitação para o provedor de conteúdo registrado com a autoridade. O provedor de conteúdo pode interpretar o restante do URI como desejar. A UriMatcher classe é útil para analisar URIs.
Os principais métodos que precisam ser implementados são: <ul><li>#onCreate, que é chamado para inicializar o provedor</li><li>#query que retorna dados ao chamador</li><li>#insert, que insere novos dados no provedor< de conteúdo/li><li>#update, que atualiza os dados existentes no provedor< de conteúdo/li><li>#delete, que exclui dados do provedor< de conteúdo/li><li li>#getType que retorna o tipo MIME de dados no provedor< de conteúdo/li></ul>
Métodos de acesso a dados (como #insert e #update) podem ser chamados de muitos threads ao mesmo tempo e devem ser thread-safe. Outros métodos (como #onCreate) são chamados apenas do thread principal do aplicativo e devem evitar a execução de operações longas. Consulte as descrições do método para o comportamento de thread esperado.
As solicitações a ContentResolver serem encaminhadas automaticamente para a instância apropriada do ContentProvider, portanto, as subclasses não precisam se preocupar com os detalhes das chamadas entre processos.
<div class="special reference"><h3>Developer Guides</h3>
Para obter mais informações sobre como usar provedores de conteúdo, leia o guia do desenvolvedor de Provedores de Conteúdo .
</div>
Java documentação para android.content.ContentProvider.
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 |
|---|---|
| ContentProvider() |
Construir uma instância do ContentProvider. |
| ContentProvider(IntPtr, JniHandleOwnership) |
Um construtor usado ao criar representações gerenciadas de objetos JNI; chamado pelo runtime. |
Propriedades
| Nome | Description |
|---|---|
| CallingAttributionSource |
Obtém a origem da atribuição do aplicativo de chamada. |
| CallingAttributionTag |
Retorne a marca de atribuição do chamador que iniciou a solicitação que está sendo processada no thread atual. |
| CallingPackage |
Retorne o nome do pacote do chamador que iniciou a solicitação que está sendo processada no thread atual. |
| CallingPackageUnchecked |
Retorne o nome do pacote do chamador que iniciou a solicitação que está sendo processada no thread atual. |
| Class |
Retorna a classe de runtime deste |
| Context |
Recupera o contexto em que este provedor está em execução. |
| Handle |
O identificador para a instância subjacente do Android. (Herdado de Object) |
| IsTemporary |
Retornará true se essa instância for um provedor de conteúdo temporário. |
| JniIdentityHashCode |
Obtém o código de hash de identidade atribuído a esse par Java pelo runtime de interoperabilidade. (Herdado de Object) |
| JniManagedPeerState |
Os provedores de conteúdo são um dos principais blocos de construção de aplicativos Android, fornecendo conteúdo para aplicativos. (Herdado de JavaObject) |
| JniPeerMembers |
Obtém os metadados JNI usados para invocar membros desse par Java. |
| PeerReference |
Obtém a referência de objeto JNI para este par Java. (Herdado de Object) |
| ReadPermission |
Obsoleto.
Retorne o nome da permissão necessária para acesso somente leitura a esse provedor de conteúdo. -ou- Altere a permissão necessária para ler dados do provedor de conteúdo. |
| ThresholdClass |
Essa API dá suporte à infraestrutura do Mono para Android e não se destina a ser usada diretamente do seu código. |
| ThresholdType |
Essa API dá suporte à infraestrutura do Mono para Android e não se destina a ser usada diretamente do seu código. |
| WritePermission |
Obsoleto.
Retorne o nome da permissão necessária para acesso de leitura/gravação a esse provedor de conteúdo. -ou- Altere a permissão necessária para ler e gravar dados no provedor de conteúdo. |
Métodos
| Nome | Description |
|---|---|
| ApplyBatch(IList<ContentProviderOperation>) |
Substitua isso para lidar com solicitações para executar um lote de operações ou a implementação padrão iterará sobre as operações e chamará |
| ApplyBatch(String, IList<ContentProviderOperation>) |
Substitua isso para lidar com solicitações para executar um lote de operações ou a implementação padrão iterará sobre as operações e chamará |
| AttachInfo(Context, ProviderInfo) |
Depois de instanciado, isso é chamado para informar o provedor de conteúdo sobre si mesmo. |
| BulkInsert(Uri, ContentValues[]) |
Substitua isso para manipular solicitações para inserir um conjunto de novas linhas ou a implementação padrão iterará sobre os valores e chamará |
| Call(String, String, Bundle) |
Chame um método definido pelo provedor. |
| Call(String, String, String, Bundle) |
Chame um método definido pelo provedor. |
| Canonicalize(Uri) |
Implemente isso para dar suporte à canonicalização de URIs que se referem ao seu provedor de conteúdo. |
| ClearCallingIdentity() |
Redefina a identidade do IPC de entrada no thread atual. |
| Clone() |
Cria e retorna uma cópia desse objeto. (Herdado de Object) |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
Os provedores de conteúdo são um dos principais blocos de construção de aplicativos Android, fornecendo conteúdo para aplicativos. (Herdado de JavaObject) |
| Delete(Uri, Bundle) |
Implemente isso para lidar com solicitações para excluir uma ou mais linhas. |
| Delete(Uri, String, String[]) |
Implemente isso para lidar com solicitações para excluir uma ou mais linhas. |
| 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() |
Os provedores de conteúdo são um dos principais blocos de construção de aplicativos Android, fornecendo conteúdo para aplicativos. (Herdado de JavaObject) |
| Dump(FileDescriptor, PrintWriter, String[]) |
Imprima o estado do Provedor no fluxo fornecido. |
| DumpAsync(FileDescriptor, PrintWriter, String[]) |
Imprima o estado do Provedor no fluxo fornecido. Isso será invocado se você executar "adb shell dumpsys activity provider <provider_component_name>". |
| Equals(Object) |
Os provedores de conteúdo são um dos principais blocos de construção de aplicativos Android, fornecendo conteúdo para aplicativos. (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) |
| GetPathPermissions() |
Retorne as permissões baseadas em caminho necessárias para acesso de leitura e/ou gravação a esse provedor de conteúdo. |
| GetStreamTypes(Uri, String) |
Chamado por um cliente para determinar os tipos de fluxos de dados que esse provedor de conteúdo dá suporte para o URI fornecido. |
| GetType(Uri) |
Implemente isso para lidar com solicitações para o tipo MIME dos dados no URI fornecido. |
| GetTypeAnonymous(Uri) |
Implemente isso para lidar com solicitações para o tipo MIME de URIs, que não precisam revelar informações internas que devem ser protegidas por qualquer permissão. |
| Insert(Uri, ContentValues, Bundle) |
Implemente isso para lidar com solicitações para inserir uma nova linha. |
| Insert(Uri, ContentValues) |
Implemente isso para lidar com solicitações para inserir uma nova linha. |
| 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) |
| OnCallingPackageChanged() |
Chamado sempre que o valor das |
| OnConfigurationChanged(Configuration) |
Chamado pelo sistema quando a configuração do dispositivo é alterada enquanto o componente está em execução. Observe que, ao contrário das atividades, outros componentes nunca são reiniciados quando uma configuração é alterada: eles sempre devem lidar com os resultados da alteração, como a recuperação de recursos. No momento em que essa função tiver sido chamada, seu objeto Resources terá sido atualizado para retornar valores de recurso correspondentes à nova configuração. Para obter mais informações, leia Como lidar com alterações de runtime. Esse método é sempre chamado no thread principal do aplicativo e não deve executar operações longas. A implementação do provedor de conteúdo padrão não faz nada. Substitua esse método para tomar as medidas apropriadas. (Os provedores de conteúdo geralmente não se importam com coisas como orientação de tela, mas talvez queiram saber sobre as alterações de localidade.) Configuração de newConfig de parâmetros: a nova configuração do dispositivo. Esse valor não pode ser nulo. |
| OnCreate() |
Implemente isso para inicializar seu provedor de conteúdo na inicialização. |
| OnLowMemory() |
Isso é chamado quando o sistema geral está com pouca memória e os processos em execução ativamente devem cortar o uso da memória. Embora o ponto exato em que isso será chamado não seja definido, geralmente acontecerá quando todo o processo em segundo plano tiver sido morto. Ou seja, antes de chegar ao ponto de matar processos que hospedam o serviço e a interface do usuário em primeiro plano, gostaríamos de evitar matar. Esse método é sempre chamado no thread principal do aplicativo e não deve executar operações longas. A implementação do provedor de conteúdo padrão não faz nada. As subclasses podem substituir esse método para tomar as medidas apropriadas. |
| OnTrimMemory(TrimMemory) |
Chamado quando o sistema operacional determinou que é um bom momento para um processo cortar a memória desnecessária de seu processo. |
| OpenAssetFile(Uri, String, CancellationSignal) |
Isso é semelhante |
| OpenAssetFile(Uri, String) |
Isso é semelhante |
| OpenFile(Uri, String, CancellationSignal) |
Substitua isso para manipular solicitações para abrir um blob de arquivos. |
| OpenFile(Uri, String) |
Substitua isso para manipular solicitações para abrir um blob de arquivos. |
| OpenFileHelper(Uri, String) |
Conveniência para subclasses que desejam implementar |
| OpenPipeHelper(Uri, String, Bundle, Object, ContentProvider+IPipeDataWriter) |
Uma função auxiliar para implementação |
| OpenTypedAssetFile(Uri, String, Bundle, CancellationSignal) |
Chamado por um cliente para abrir um fluxo somente leitura contendo dados de um tipo MIME específico. |
| OpenTypedAssetFile(Uri, String, Bundle) |
Chamado por um cliente para abrir um fluxo somente leitura contendo dados de um tipo MIME específico. |
| Query(Uri, String[], Bundle, CancellationSignal) |
Implemente isso para lidar com solicitações de consulta em que os argumentos são empacotados em um |
| Query(Uri, String[], String, String[], String, CancellationSignal) |
Implemente isso para lidar com solicitações de consulta de clientes com suporte para cancelamento. |
| Query(Uri, String[], String, String[], String) |
Implemente isso para lidar com solicitações de consulta de clientes. |
| Refresh(Uri, Bundle, CancellationSignal) |
Implemente isso para dar suporte à atualização do conteúdo identificado por |
| RequireContext() |
Recupera um contexto não anulável em que este provedor está em execução, que se destina a ser chamado após |
| RestoreCallingIdentity(ContentProvider+CallingIdentity) |
Restaure a identidade do IPC de entrada no thread atual de volta para uma identidade anterior que foi retornada por |
| SetHandle(IntPtr, JniHandleOwnership) |
Define a propriedade Handle (Herdado de Object) |
| SetPathPermissions(PathPermission[]) |
Altere a permissão baseada em caminho necessária para ler e/ou gravar dados no provedor de conteúdo. |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
Os provedores de conteúdo são um dos principais blocos de construção de aplicativos Android, fornecendo conteúdo para aplicativos. (Herdado de JavaObject) |
| SetReadPermission(String) |
Altere a permissão necessária para ler dados do provedor de conteúdo. Isso normalmente é definido para você a partir de suas informações de manifesto quando o provedor é criado pela primeira vez. |
| SetWritePermission(String) |
Altere a permissão necessária para gravar dados no provedor de conteúdo. Isso normalmente é definido para você a partir de suas informações de manifesto quando o provedor é criado pela primeira vez. |
| Shutdown() |
Implemente isso para desligar a instância do ContentProvider. |
| 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) |
| Uncanonicalize(Uri) |
Remova a canonicalização das URIs canônicas retornadas anteriormente por |
| UnregisterFromRuntime() |
Cancela o registro desse par Java do runtime de interoperabilidade. (Herdado de Object) |
| Update(Uri, ContentValues, Bundle) |
Implemente isso para lidar com solicitações para atualizar uma ou mais linhas. |
| Update(Uri, ContentValues, String, String[]) |
Implemente isso para lidar com solicitações para atualizar uma ou mais linhas. |
| 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() |
Os provedores de conteúdo são um dos principais blocos de construção de aplicativos Android, fornecendo conteúdo para aplicativos. (Herdado de JavaObject) |
| IJavaPeerable.Finalized() |
Os provedores de conteúdo são um dos principais blocos de construção de aplicativos Android, fornecendo conteúdo para aplicativos. (Herdado de JavaObject) |
| IJavaPeerable.JniObjectReferenceControlBlock |
Os provedores de conteúdo são um dos principais blocos de construção de aplicativos Android, fornecendo conteúdo para aplicativos. (Herdado de JavaObject) |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
Os provedores de conteúdo são um dos principais blocos de construção de aplicativos Android, fornecendo conteúdo para aplicativos. (Herdado de JavaObject) |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Os provedores de conteúdo são um dos principais blocos de construção de aplicativos Android, fornecendo conteúdo para aplicativos. (Herdado de JavaObject) |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
Os provedores de conteúdo são um dos principais blocos de construção de aplicativos Android, fornecendo conteúdo para aplicativos. (Herdado de JavaObject) |
| IJavaPeerable.UnregisterFromRuntime() |
Os provedores de conteúdo são um dos principais blocos de construção de aplicativos Android, fornecendo conteúdo para aplicativos. |
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) |
Os provedores de conteúdo são um dos principais blocos de construção de aplicativos Android, fornecendo conteúdo para aplicativos. |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Tente coagir a digitar |