ContentProvider Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
I provider di contenuti sono uno dei blocchi predefiniti principali delle applicazioni Android, fornendo contenuto alle applicazioni.
[Android.Runtime.Register("android/content/ContentProvider", DoNotGenerateAcw=true)]
public abstract class ContentProvider : Java.Lang.Object, Android.Content.IComponentCallbacks2, IDisposable, Java.Interop.IJavaPeerable
[<Android.Runtime.Register("android/content/ContentProvider", DoNotGenerateAcw=true)>]
type ContentProvider = class
inherit Object
interface IComponentCallbacks
interface IJavaObject
interface IDisposable
interface IJavaPeerable
interface IComponentCallbacks2
- Ereditarietà
- Derivato
- Attributi
- Implementazioni
Commenti
I provider di contenuti sono uno dei blocchi predefiniti principali delle applicazioni Android, fornendo contenuto alle applicazioni. Incapsulano i dati e li forniscono alle applicazioni tramite la singola ContentResolver interfaccia. Un provider di contenuti è necessario solo se è necessario condividere dati tra più applicazioni. Ad esempio, i dati dei contatti vengono usati da più applicazioni e devono essere archiviati in un provider di contenuti. Se non è necessario condividere dati tra più applicazioni, è possibile usare un database direttamente tramite android.database.sqlite.SQLiteDatabase.
Quando una richiesta viene effettuata tramite un ContentResolver sistema controlla l'autorità dell'URI specificato e passa la richiesta al provider di contenuti registrato con l'autorità. Il provider di contenuti può interpretare il resto dell'URI, ma vuole. La UriMatcher classe è utile per l'analisi degli URI.
I metodi principali che devono essere implementati sono: <ul><li>#onCreate che viene chiamato per inizializzare il provider</li><li>#query che restituisce i dati al chiamante</li che inserisce nuovi dati nel provider< di contenuti/li>><#update che aggiorna i dati esistenti nel provider< di contenuti/li>><#delete che elimina i dati dal provider< di contenuti/li li>#getType><>#insert>< che restituisce il tipo MIME di dati nel provider< di contenuti/li></ul>
I metodi di accesso ai dati (ad esempio #insert e #update) possono essere chiamati da più thread contemporaneamente e devono essere thread-safe. Altri metodi ( ad esempio #onCreate) vengono chiamati solo dal thread principale dell'applicazione e devono evitare di eseguire operazioni lunghe. Vedere le descrizioni dei metodi per il comportamento previsto del thread.
Le richieste a ContentResolver vengono inoltrate automaticamente all'istanza di ContentProvider appropriata, pertanto le sottoclassi non devono preoccuparsi dei dettagli delle chiamate tra processi.
<div class="special reference"><h3>Developer Guides</h3>
Per altre informazioni sull'uso dei provider di contenuto, vedere la Guida per sviluppatori dei provider di contenuti.
</div>
per android.content.ContentProvider.
Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dalla e usati in base ai termini descritti in Creative License 2.5 Attribution License.
Costruttori
| Nome | Descrizione |
|---|---|
| ContentProvider() |
Costruire un'istanza di ContentProvider. |
| ContentProvider(IntPtr, JniHandleOwnership) |
Costruttore usato durante la creazione di rappresentazioni gestite di oggetti JNI; chiamato dal runtime. |
Proprietà
| Nome | Descrizione |
|---|---|
| CallingAttributionSource |
Ottiene l'origine di attribuzione dell'app chiamante. |
| CallingAttributionTag |
Restituisce il tag di attribuzione del chiamante che ha avviato la richiesta elaborata nel thread corrente. |
| CallingPackage |
Restituisce il nome del pacchetto del chiamante che ha avviato la richiesta elaborata nel thread corrente. |
| CallingPackageUnchecked |
Restituisce il nome del pacchetto del chiamante che ha avviato la richiesta elaborata nel thread corrente. |
| Class |
Restituisce la classe di runtime di questo |
| Context |
Recupera il contesto in cui è in esecuzione questo provider. |
| Handle |
Handle per l'istanza di Android sottostante. (Ereditato da Object) |
| IsTemporary |
Restituisce true se questa istanza è un provider di contenuto temporaneo. |
| JniIdentityHashCode |
I provider di contenuti sono uno dei blocchi predefiniti principali delle applicazioni Android, fornendo contenuto alle applicazioni. (Ereditato da Object) |
| JniPeerMembers |
I provider di contenuti sono uno dei blocchi predefiniti principali delle applicazioni Android, fornendo contenuto alle applicazioni. |
| PeerReference |
I provider di contenuti sono uno dei blocchi predefiniti principali delle applicazioni Android, fornendo contenuto alle applicazioni. (Ereditato da Object) |
| ReadPermission |
Obsoleti.
Restituisce il nome dell'autorizzazione necessaria per l'accesso in sola lettura a questo provider di contenuti. -oppure- Modificare l'autorizzazione necessaria per leggere i dati dal provider di contenuti. |
| ThresholdClass |
Questa API supporta l'infrastruttura Mono per Android e non deve essere usata direttamente dal codice. |
| ThresholdType |
Questa API supporta l'infrastruttura Mono per Android e non deve essere usata direttamente dal codice. |
| WritePermission |
Obsoleti.
Restituisce il nome dell'autorizzazione necessaria per l'accesso in lettura/scrittura a questo provider di contenuti. -oppure- Modificare l'autorizzazione necessaria per leggere e scrivere dati nel provider di contenuti. |
Metodi
| Nome | Descrizione |
|---|---|
| ApplyBatch(IList<ContentProviderOperation>) |
Eseguire l'override di questa opzione per gestire le richieste per eseguire un batch di operazioni oppure l'implementazione predefinita eseguirà l'iterazione delle operazioni e chiamerà |
| ApplyBatch(String, IList<ContentProviderOperation>) |
Eseguire l'override di questa opzione per gestire le richieste per eseguire un batch di operazioni oppure l'implementazione predefinita eseguirà l'iterazione delle operazioni e chiamerà |
| AttachInfo(Context, ProviderInfo) |
Dopo la creazione di un'istanza, viene chiamato per indicare al provider di contenuti se stesso. |
| BulkInsert(Uri, ContentValues[]) |
Eseguire l'override di questa opzione per gestire le richieste di inserimento di un set di nuove righe oppure l'implementazione predefinita eseguirà l'iterazione sui valori e chiamerà |
| Call(String, String, Bundle) |
Chiamare un metodo definito dal provider. |
| Call(String, String, String, Bundle) |
Chiamare un metodo definito dal provider. |
| Canonicalize(Uri) |
Implementare questa opzione per supportare la canonizzazione degli URI che fanno riferimento al provider di contenuti. |
| ClearCallingIdentity() |
Reimpostare l'identità dell'IPC in ingresso nel thread corrente. |
| Clone() |
Crea e restituisce una copia di questo oggetto. (Ereditato da Object) |
| Delete(Uri, Bundle) |
Implementare questa opzione per gestire le richieste di eliminazione di una o più righe. |
| Delete(Uri, String, String[]) |
Implementare questa opzione per gestire le richieste di eliminazione di una o più righe. |
| Dispose() |
I provider di contenuti sono uno dei blocchi predefiniti principali delle applicazioni Android, fornendo contenuto alle applicazioni. (Ereditato da Object) |
| Dispose(Boolean) |
I provider di contenuti sono uno dei blocchi predefiniti principali delle applicazioni Android, fornendo contenuto alle applicazioni. (Ereditato da Object) |
| Dump(FileDescriptor, PrintWriter, String[]) |
Stampare lo stato del provider nel flusso specificato. |
| DumpAsync(FileDescriptor, PrintWriter, String[]) |
I provider di contenuti sono uno dei blocchi predefiniti principali delle applicazioni Android, fornendo contenuto alle applicazioni. |
| Equals(Object) |
Indica se un altro oggetto è "uguale a" questo. (Ereditato da Object) |
| GetHashCode() |
Restituisce un valore di codice hash per l'oggetto . (Ereditato da Object) |
| GetPathPermissions() |
Restituisce le autorizzazioni basate sul percorso necessarie per l'accesso in lettura e/o scrittura a questo provider di contenuti. |
| GetStreamTypes(Uri, String) |
Chiamato da un client per determinare i tipi di flussi di dati supportati da questo provider di contenuto per l'URI specificato. |
| GetType(Uri) |
Implementare questa opzione per gestire le richieste per il tipo MIME dei dati nell'URI specificato. |
| GetTypeAnonymous(Uri) |
Implementare questa opzione per gestire le richieste per il tipo MIME di URI, che non devono rivelare informazioni interne che devono essere protette da alcuna autorizzazione. |
| Insert(Uri, ContentValues, Bundle) |
Implementare questa opzione per gestire le richieste di inserimento di una nuova riga. |
| Insert(Uri, ContentValues) |
Implementare questa opzione per gestire le richieste di inserimento di una nuova riga. |
| JavaFinalize() |
Chiamato dal Garbage Collector su un oggetto quando Garbage Collection determina che non sono presenti altri riferimenti all'oggetto . (Ereditato da Object) |
| Notify() |
Riattiva un singolo thread in attesa del monitor dell'oggetto. (Ereditato da Object) |
| NotifyAll() |
Riattiva tutti i thread in attesa del monitor dell'oggetto. (Ereditato da Object) |
| OnCallingPackageChanged() |
Chiamato ogni volta che il valore delle |
| OnConfigurationChanged(Configuration) |
Per essere aggiunto Questo metodo viene sempre chiamato nel thread principale dell'applicazione e non deve eseguire operazioni lunghe. |
| OnCreate() |
Implementare questa opzione per inizializzare il provider di contenuti all'avvio. |
| OnLowMemory() |
Per essere aggiunto Questo metodo viene sempre chiamato nel thread principale dell'applicazione e non deve eseguire operazioni lunghe. |
| OnTrimMemory(TrimMemory) |
Chiamato quando il sistema operativo ha determinato che è un buon momento per un processo per ridurre la memoria non richiesta dal relativo processo. |
| OpenAssetFile(Uri, String, CancellationSignal) |
Questo è simile |
| OpenAssetFile(Uri, String) |
Questo è simile |
| OpenFile(Uri, String, CancellationSignal) |
Eseguire l'override di questa opzione per gestire le richieste per aprire un BLOB di file. |
| OpenFile(Uri, String) |
Eseguire l'override di questa opzione per gestire le richieste per aprire un BLOB di file. |
| OpenFileHelper(Uri, String) |
Praticità per le sottoclassi che desiderano implementare |
| OpenPipeHelper(Uri, String, Bundle, Object, ContentProvider+IPipeDataWriter) |
Funzione helper per l'implementazione |
| OpenTypedAssetFile(Uri, String, Bundle, CancellationSignal) |
Chiamato da un client per aprire un flusso di sola lettura contenente dati di un particolare tipo MIME. |
| OpenTypedAssetFile(Uri, String, Bundle) |
Chiamato da un client per aprire un flusso di sola lettura contenente dati di un particolare tipo MIME. |
| Query(Uri, String[], Bundle, CancellationSignal) |
Implementare questa opzione per gestire le richieste di query in cui gli argomenti vengono compressi in un oggetto |
| Query(Uri, String[], String, String[], String, CancellationSignal) |
Implementare questa opzione per gestire le richieste di query dai client con supporto per l'annullamento. |
| Query(Uri, String[], String, String[], String) |
Implementare questa opzione per gestire le richieste di query dai client. |
| Refresh(Uri, Bundle, CancellationSignal) |
Implementare questa opzione per supportare l'aggiornamento del contenuto identificato da |
| RequireContext() |
Recupera un contesto non nullable in cui è in esecuzione questo provider, che deve essere chiamato dopo |
| RestoreCallingIdentity(ContentProvider+CallingIdentity) |
Ripristinare l'identità dell'IPC in ingresso nel thread corrente a un'identità precedentemente restituita da |
| SetHandle(IntPtr, JniHandleOwnership) |
Imposta la proprietà Handle. (Ereditato da Object) |
| SetPathPermissions(PathPermission[]) |
Modificare l'autorizzazione basata sul percorso necessaria per leggere e/o scrivere dati nel provider di contenuto. |
| SetReadPermission(String) |
I provider di contenuti sono uno dei blocchi predefiniti principali delle applicazioni Android, fornendo contenuto alle applicazioni. |
| SetWritePermission(String) |
I provider di contenuti sono uno dei blocchi predefiniti principali delle applicazioni Android, fornendo contenuto alle applicazioni. |
| Shutdown() |
Implementare questa opzione per arrestare l'istanza di ContentProvider. |
| ToArray<T>() |
I provider di contenuti sono uno dei blocchi predefiniti principali delle applicazioni Android, fornendo contenuto alle applicazioni. (Ereditato da Object) |
| ToString() |
Restituisce una rappresentazione di stringa dell'oggetto . (Ereditato da Object) |
| Uncanonicalize(Uri) |
Rimuovere la canonizzazione dagli URI canonici restituiti in precedenza da |
| UnregisterFromRuntime() |
I provider di contenuti sono uno dei blocchi predefiniti principali delle applicazioni Android, fornendo contenuto alle applicazioni. (Ereditato da Object) |
| Update(Uri, ContentValues, Bundle) |
Implementare questa opzione per gestire le richieste di aggiornamento di una o più righe. |
| Update(Uri, ContentValues, String, String[]) |
Implementare questa opzione per gestire le richieste di aggiornamento di una o più righe. |
| Wait() |
Fa sì che il thread corrente attenda finché non viene risvegliato, in genere ricevendo <>una notifica</em> o <em>interrotto</em>. (Ereditato da Object) |
| Wait(Int64, Int32) |
Fa sì che il thread corrente attenda finché non viene risvegliato, in genere ricevendo>< una notifica</em> o <em>interrotto</em> o fino a quando non è trascorsa una determinata quantità di tempo reale. (Ereditato da Object) |
| Wait(Int64) |
Fa sì che il thread corrente attenda finché non viene risvegliato, in genere ricevendo>< una notifica</em> o <em>interrotto</em> o fino a quando non è trascorsa una determinata quantità di tempo reale. (Ereditato da Object) |
Implementazioni dell'interfaccia esplicita
| Nome | Descrizione |
|---|---|
| IJavaPeerable.Disposed() |
I provider di contenuti sono uno dei blocchi predefiniti principali delle applicazioni Android, fornendo contenuto alle applicazioni. (Ereditato da Object) |
| IJavaPeerable.DisposeUnlessReferenced() |
I provider di contenuti sono uno dei blocchi predefiniti principali delle applicazioni Android, fornendo contenuto alle applicazioni. (Ereditato da Object) |
| IJavaPeerable.Finalized() |
I provider di contenuti sono uno dei blocchi predefiniti principali delle applicazioni Android, fornendo contenuto alle applicazioni. (Ereditato da Object) |
| IJavaPeerable.JniManagedPeerState |
I provider di contenuti sono uno dei blocchi predefiniti principali delle applicazioni Android, fornendo contenuto alle applicazioni. (Ereditato da Object) |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
I provider di contenuti sono uno dei blocchi predefiniti principali delle applicazioni Android, fornendo contenuto alle applicazioni. (Ereditato da Object) |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
I provider di contenuti sono uno dei blocchi predefiniti principali delle applicazioni Android, fornendo contenuto alle applicazioni. (Ereditato da Object) |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
I provider di contenuti sono uno dei blocchi predefiniti principali delle applicazioni Android, fornendo contenuto alle applicazioni. (Ereditato da Object) |
Metodi di estensione
| Nome | Descrizione |
|---|---|
| GetJniTypeName(IJavaPeerable) |
Ottiene il nome JNI del tipo dell'istanza |
| JavaAs<TResult>(IJavaPeerable) |
Provare a digitare |
| JavaCast<TResult>(IJavaObject) |
Esegue una conversione del tipo di tipo controllato dal runtime Android. |
| JavaCast<TResult>(IJavaObject) |
I provider di contenuti sono uno dei blocchi predefiniti principali delle applicazioni Android, fornendo contenuto alle applicazioni. |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Provare a digitare |