Introdução ao ContentProviders
O sistema operacional Android usa provedores de conteúdo para facilitar o acesso a dados compartilhados, como arquivos de mídia, contatos e informações de calendário. Este artigo apresenta a classe ContentProvider e fornece dois exemplos de como usá-la.
Visão geral dos provedores de conteúdo
Um ContentProvider encapsula um repositório de dados e fornece uma API para acessá-lo. O provedor existe como parte de um aplicativo Android que geralmente também fornece uma interface do usuário para exibir/gerenciar os dados. O principal benefício de usar um provedor de conteúdo é permitir que outros aplicativos acessem facilmente os dados encapsulados usando um objeto cliente do provedor (chamado ContentResolver). Juntos, um provedor de conteúdo e um resolvedor de conteúdo oferecem uma API consistente entre aplicativos para acesso a dados que é simples de criar e consumir. Qualquer aplicativo pode optar por usar ContentProviders
para gerenciar dados internamente e também para expô-los a outros aplicativos.
A ContentProvider
também é necessário para que seu aplicativo forneça sugestões de pesquisa personalizadas ou se você quiser fornecer a capacidade de copiar dados complexos do aplicativo para colar em outros aplicativos. Este documento mostra como acessar e compilar ContentProviders
com o Xamarin.Android.
A estrutura desta seção é a seguinte:
Como funciona – Uma visão geral do que
ContentProvider
o é projetado para e como ele funciona.Consumindo um provedor de conteúdo – Um exemplo de acesso à lista de contatos.
Usando ContentProvider para compartilhar dados – Gravando e consumindo um
ContentProvider
no mesmo aplicativo.
ContentProviders
e os cursores que operam em seus dados são frequentemente usados para preencher ListViews. Consulte o guia ListViews and Adapters para obter mais informações sobre como usar essas classes.
ContentProviders
expostos pelo Android (ou outros aplicativos) são uma maneira fácil de incluir dados de outras fontes em seu aplicativo. Eles permitem que você acesse e apresente dados como a lista de contatos, fotos ou eventos de calendário de dentro de seu aplicativo e permitem que o usuário interaja com esses dados.
Personalizados ContentProviders
são uma maneira conveniente de empacotar seus dados para uso dentro de seu próprio aplicativo ou para uso por outros aplicativos (incluindo usos especiais, como pesquisa personalizada e copiar/colar).
Os tópicos desta seção fornecem alguns exemplos simples de consumo e gravação ContentProvider
de código.