Compartilhar via


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.