Introduzione a ContentProviders

Il sistema operativo Android usa provider di contenuti per facilitare l'accesso a dati condivisi, ad esempio file multimediali, contatti e informazioni sul calendario. Questo articolo presenta la classe ContentProvider e fornisce due esempi di come usarlo.

Panoramica dei provider di contenuti

Un ContentProvider incapsula un repository di dati e fornisce un'API per accedervi. Il provider esiste come parte di un'applicazione Android che in genere fornisce anche un'interfaccia utente per la visualizzazione o la gestione dei dati. Il vantaggio principale dell'uso di un provider di contenuti consiste nell'consentire ad altre applicazioni di accedere facilmente ai dati incapsulati usando un oggetto client del provider (denominato ContentResolver). Insieme, un provider di contenuti e un sistema di risoluzione del contenuto offrono un'API inter-applicazione coerente per l'accesso ai dati semplice da compilare e usare. Qualsiasi applicazione può scegliere di usare ContentProviders per gestire i dati internamente e anche per esporla ad altre applicazioni.

È ContentProvider inoltre necessario che l'applicazione fornisca suggerimenti di ricerca personalizzati o se si vuole fornire la possibilità di copiare dati complessi dall'applicazione per incollarli in altre applicazioni. Questo documento illustra come accedere e compilare ContentProviders con Xamarin.Android.

La struttura di questa sezione è la seguente:

  • Come funziona : panoramica di ciò che ContentProvider è progettato per e come funziona.

  • Utilizzo di un provider di contenuti: esempio di accesso all'elenco Contatti.

  • Uso di ContentProvider per condividere i dati : scrittura e utilizzo di un oggetto ContentProvider nella stessa applicazione.

ContentProviders e i cursori che operano sui dati vengono spesso usati per popolare listView. Per altre informazioni su come usare tali classi, vedere la guida listViews e Adapters.

ContentProviders esposto da Android (o da altre applicazioni) è un modo semplice per includere i dati di altre origini nell'applicazione. Consentono di accedere e presentare dati come l'elenco Contatti, le foto o gli eventi del calendario dall'interno dell'applicazione e consentire all'utente di interagire con tali dati.

La personalizzazione ContentProviders è un modo pratico per creare un pacchetto dei dati da usare all'interno della propria app o per l'uso da parte di altre applicazioni (inclusi usi speciali come la ricerca personalizzata e la copia/incolla).

Negli argomenti di questa sezione vengono forniti alcuni semplici esempi di utilizzo e scrittura ContentProvider di codice.