ContentProvider Klasse

Definition

Inhaltsanbieter sind einer der wichtigsten Bausteine von Android-Anwendungen, die Inhalte für Anwendungen bereitstellen.

[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
Vererbung
ContentProvider
Abgeleitet
Attribute
Implementiert

Hinweise

Inhaltsanbieter sind einer der wichtigsten Bausteine von Android-Anwendungen, die Inhalte für Anwendungen bereitstellen. Sie kapseln Daten und stellen sie anwendungen über die einzige ContentResolver Schnittstelle zur Verfügung. Ein Inhaltsanbieter ist nur erforderlich, wenn Sie Daten zwischen mehreren Anwendungen freigeben müssen. Beispielsweise werden die Kontaktdaten von mehreren Anwendungen verwendet und müssen in einem Inhaltsanbieter gespeichert werden. Wenn Sie keine Daten für mehrere Anwendungen freigeben müssen, können Sie eine Datenbank direkt über android.database.sqlite.SQLiteDatabase.

Wenn eine Anforderung über ein ContentResolver System erfolgt, prüft das System die Autorität des angegebenen URI und übergibt die Anforderung an den Inhaltsanbieter, der bei der Autorität registriert ist. Der Inhaltsanbieter kann den Rest des URI interpretieren, aber er möchte. Die UriMatcher Klasse ist hilfreich zum Analysieren von URIs.

Die wichtigsten Methoden, die implementiert werden müssen, sind: <ul<>li>#onCreate, die aufgerufen wird, um den Anbieter</li li<>#query> zu initialisieren, der Daten an den Aufrufer</li<>#insert> li zurückgibt, der neue Daten in den Inhaltsanbieter</li<>einfügt>#update, die vorhandene Daten im Inhaltsanbieter</li li<#delete>> aktualisiert, die Daten aus dem Inhaltsanbieter</li><>#getType löscht. die den MIME-Datentyp im Inhaltsanbieter</li></ul zurückgibt.>

Datenzugriffsmethoden (z #insert . B. und #update) können von vielen Threads gleichzeitig aufgerufen werden und müssen threadsicher sein. Andere Methoden (z #onCreate. B. ) werden nur aus dem Hauptthread der Anwendung aufgerufen und müssen lange Vorgänge vermeiden. Lesen Sie die Methodenbeschreibungen für das erwartete Threadverhalten.

Anforderungen, die ContentResolver automatisch an die entsprechende ContentProvider-Instanz weitergeleitet werden, daher müssen sich Unterklassen nicht um die Details von prozessübergreifenden Aufrufen kümmern.

<div class="special reference"><h3>Developer Guides</h3>

Weitere Informationen zur Verwendung von Inhaltsanbietern finden Sie im Entwicklerhandbuch für Inhaltsanbieter .

</div>

Java Dokumentation für android.content.ContentProvider.

Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die von der Android Open Source Project erstellt und gemeinsam verwendet und gemäß den in der 2.5 Attribution License beschriebenen Begriffen verwendet werden.

Konstruktoren

Name Beschreibung
ContentProvider()

Erstellen sie eine ContentProvider-Instanz.

ContentProvider(IntPtr, JniHandleOwnership)

Ein Konstruktor, der beim Erstellen verwalteter Darstellungen von JNI-Objekten verwendet wird; wird von der Laufzeit aufgerufen.

Eigenschaften

Name Beschreibung
CallingAttributionSource

Ruft die Attributionsquelle der aufrufenden App ab.

CallingAttributionTag

Gibt das Attributionstag des Aufrufers zurück, der die Anforderung initiiert hat, die im aktuellen Thread verarbeitet wird.

CallingPackage

Geben Sie den Paketnamen des Aufrufers zurück, der die Anforderung initiiert hat, die im aktuellen Thread verarbeitet wird.

CallingPackageUnchecked

Geben Sie den Paketnamen des Aufrufers zurück, der die Anforderung initiiert hat, die im aktuellen Thread verarbeitet wird.

Class

Gibt die Laufzeitklasse dieses Werts Objectzurück.

(Geerbt von Object)
Context

Ruft den Kontext ab, in dem dieser Anbieter ausgeführt wird.

Handle

Das Handle für die zugrunde liegende Android-Instanz.

(Geerbt von Object)
IsTemporary

Gibt true zurück, wenn es sich bei dieser Instanz um einen temporären Inhaltsanbieter handelt.

JniIdentityHashCode

Inhaltsanbieter sind einer der wichtigsten Bausteine von Android-Anwendungen, die Inhalte für Anwendungen bereitstellen.

(Geerbt von Object)
JniPeerMembers

Inhaltsanbieter sind einer der wichtigsten Bausteine von Android-Anwendungen, die Inhalte für Anwendungen bereitstellen.

PeerReference

Inhaltsanbieter sind einer der wichtigsten Bausteine von Android-Anwendungen, die Inhalte für Anwendungen bereitstellen.

(Geerbt von Object)
ReadPermission
Veraltet.

Geben Sie den Namen der berechtigung zurück, die für den schreibgeschützten Zugriff auf diesen Inhaltsanbieter erforderlich ist. - oder - Ändern Sie die berechtigung, die zum Lesen von Daten vom Inhaltsanbieter erforderlich ist.

ThresholdClass

Diese API unterstützt die Mono für Android-Infrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code vorgesehen.

ThresholdType

Diese API unterstützt die Mono für Android-Infrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code vorgesehen.

WritePermission
Veraltet.

Geben Sie den Namen der berechtigung zurück, die für den Lese-/Schreibzugriff auf diesen Inhaltsanbieter erforderlich ist. -oder- Ändern Sie die berechtigung, die zum Lesen und Schreiben von Daten im Inhaltsanbieter erforderlich ist.

Methoden

Name Beschreibung
ApplyBatch(IList<ContentProviderOperation>)

Überschreiben Sie dies, um Anforderungen zum Ausführen eines Batches von Vorgängen zu verarbeiten, oder die Standardimplementierung durchläuft die Vorgänge und ruft ContentProviderOperation#apply die einzelnen Vorgänge auf.

ApplyBatch(String, IList<ContentProviderOperation>)

Überschreiben Sie dies, um Anforderungen zum Ausführen eines Batches von Vorgängen zu verarbeiten, oder die Standardimplementierung durchläuft die Vorgänge und ruft ContentProviderOperation#apply die einzelnen Vorgänge auf.

AttachInfo(Context, ProviderInfo)

Nach der Instanziierung wird dies aufgerufen, um den Inhaltsanbieter über sich selbst zu informieren.

BulkInsert(Uri, ContentValues[])

Überschreiben Sie dies, um Anforderungen zum Einfügen einer Reihe neuer Zeilen zu verarbeiten, oder die Standardimplementierung durchläuft die Werte und aufruft #insert die einzelnen Zeilen.

Call(String, String, Bundle)

Rufen Sie eine vom Anbieter definierte Methode auf.

Call(String, String, String, Bundle)

Rufen Sie eine vom Anbieter definierte Methode auf.

Canonicalize(Uri)

Implementieren Sie dies, um die Kanonisierung von URIs zu unterstützen, die auf Ihren Inhaltsanbieter verweisen.

ClearCallingIdentity()

Setzen Sie die Identität des eingehenden IPC im aktuellen Thread zurück.

Clone()

Erstellt und gibt eine Kopie dieses Objekts zurück.

(Geerbt von Object)
Delete(Uri, Bundle)

Implementieren Sie dies, um Anforderungen zum Löschen einer oder mehrerer Zeilen zu verarbeiten.

Delete(Uri, String, String[])

Implementieren Sie dies, um Anforderungen zum Löschen einer oder mehrerer Zeilen zu verarbeiten.

Dispose()

Inhaltsanbieter sind einer der wichtigsten Bausteine von Android-Anwendungen, die Inhalte für Anwendungen bereitstellen.

(Geerbt von Object)
Dispose(Boolean)

Inhaltsanbieter sind einer der wichtigsten Bausteine von Android-Anwendungen, die Inhalte für Anwendungen bereitstellen.

(Geerbt von Object)
Dump(FileDescriptor, PrintWriter, String[])

Drucken Sie den Status des Anbieters in den angegebenen Datenstrom.

DumpAsync(FileDescriptor, PrintWriter, String[])

Inhaltsanbieter sind einer der wichtigsten Bausteine von Android-Anwendungen, die Inhalte für Anwendungen bereitstellen.

Equals(Object)

Gibt an, ob ein anderes Objekt "gleich" diesem Objekt ist.

(Geerbt von Object)
GetHashCode()

Gibt einen Hashcodewert für das Objekt zurück.

(Geerbt von Object)
GetPathPermissions()

Geben Sie die pfadbasierten Berechtigungen zurück, die für Lese- und/oder Schreibzugriff auf diesen Inhaltsanbieter erforderlich sind.

GetStreamTypes(Uri, String)

Wird von einem Client aufgerufen, um die Datentypen von Datenströmen zu bestimmen, die dieser Inhaltsanbieter für den angegebenen URI unterstützt.

GetType(Uri)

Implementieren Sie dies, um Anforderungen für den MIME-Typ der Daten am angegebenen URI zu behandeln.

GetTypeAnonymous(Uri)

Implementieren Sie dies, um Anforderungen für DEN MIME-Typ von URIs zu behandeln, die keine internen Informationen offenlegen müssen, die durch eine Berechtigung geschützt werden sollen.

Insert(Uri, ContentValues, Bundle)

Implementieren Sie dies, um Anforderungen zum Einfügen einer neuen Zeile zu verarbeiten.

Insert(Uri, ContentValues)

Implementieren Sie dies, um Anforderungen zum Einfügen einer neuen Zeile zu verarbeiten.

JavaFinalize()

Wird vom Garbage Collector für ein Objekt aufgerufen, wenn die Garbage Collection bestimmt, dass keine weiteren Verweise auf das Objekt vorhanden sind.

(Geerbt von Object)
Notify()

Aktiviert einen einzelnen Thread, der auf dem Monitor dieses Objekts wartet.

(Geerbt von Object)
NotifyAll()

Aktiviert alle Threads, die auf dem Monitor dieses Objekts warten.

(Geerbt von Object)
OnCallingPackageChanged()

Wird immer aufgerufen, wenn der Wert von #getCallingPackage() Änderungen geändert wird, sodass der Anbieter die Möglichkeit hat, alle Sicherheitszwischenspeicherung zu ungültig machen, die ausgeführt werden kann.

OnConfigurationChanged(Configuration)

Diese Methode wird immer für den Hauptthread der Anwendung aufgerufen und darf keine langwierigen Vorgänge ausführen.

OnCreate()

Implementieren Sie dies, um Ihren Inhaltsanbieter beim Start zu initialisieren.

OnLowMemory()

Diese Methode wird immer für den Hauptthread der Anwendung aufgerufen und darf keine langwierigen Vorgänge ausführen.

OnTrimMemory(TrimMemory)

Wird aufgerufen, wenn das Betriebssystem festgestellt hat, dass es eine gute Zeit für einen Prozess ist, nicht benötigte Arbeitsspeicher aus seinem Prozess zu kürzen.

OpenAssetFile(Uri, String, CancellationSignal)

Dies ist wie #openFile, aber kann von Anbietern implementiert werden, die in der Lage sein müssen, Unterabschnitte von Dateien zurückzugeben, häufig Ressourcen innerhalb ihrer .

OpenAssetFile(Uri, String)

Dies ist wie #openFile, aber kann von Anbietern implementiert werden, die in der Lage sein müssen, Unterabschnitte von Dateien zurückzugeben, häufig Ressourcen innerhalb ihrer .

OpenFile(Uri, String, CancellationSignal)

Überschreiben Sie dies, um Anforderungen zum Öffnen eines Datei-Blobs zu verarbeiten.

OpenFile(Uri, String)

Überschreiben Sie dies, um Anforderungen zum Öffnen eines Datei-Blobs zu verarbeiten.

OpenFileHelper(Uri, String)

Komfort für Unterklassen, die implementiert #openFile werden sollen, indem sie eine Spalte mit dem Namen "_data" am angegebenen URI nachschlagen.

OpenPipeHelper(Uri, String, Bundle, Object, ContentProvider+IPipeDataWriter)

Eine Hilfsfunktion für die Implementierung #openTypedAssetFile, zum Erstellen einer Datenpipeline und eines Hintergrundthreads, mit der Sie generierte Daten zurück an den Client streamen können.

OpenTypedAssetFile(Uri, String, Bundle, CancellationSignal)

Wird von einem Client aufgerufen, um einen schreibgeschützten Datenstrom zu öffnen, der Daten eines bestimmten MIME-Typs enthält.

OpenTypedAssetFile(Uri, String, Bundle)

Wird von einem Client aufgerufen, um einen schreibgeschützten Datenstrom zu öffnen, der Daten eines bestimmten MIME-Typs enthält.

Query(Uri, String[], Bundle, CancellationSignal)

Implementieren Sie dies, um Abfrageanforderungen zu verarbeiten, in denen die Argumente in eine Bundle.

Query(Uri, String[], String, String[], String, CancellationSignal)

Implementieren Sie dies zum Behandeln von Abfrageanforderungen von Clients mit Unterstützung für den Abbruch.

Query(Uri, String[], String, String[], String)

Implementieren Sie dies zum Behandeln von Abfrageanforderungen von Clients.

Refresh(Uri, Bundle, CancellationSignal)

Implementieren Sie dies, um die Aktualisierung von Inhalten zu unterstützen, die von uri.

RequireContext()

Ruft einen nicht nullfähigen Kontext ab, in dem dieser Anbieter ausgeführt wird, dies soll nach aufgerufen #onCreatewerden.

RestoreCallingIdentity(ContentProvider+CallingIdentity)

Stellen Sie die Identität des eingehenden IPC im aktuellen Thread wieder auf eine zuvor zurückgegebene #clearCallingIdentityIdentität zurück.

SetHandle(IntPtr, JniHandleOwnership)

Legt die Handle-Eigenschaft fest.

(Geerbt von Object)
SetPathPermissions(PathPermission[])

Ändern Sie die pfadbasierte Berechtigung, die zum Lesen und/oder Schreiben von Daten im Inhaltsanbieter erforderlich ist.

SetReadPermission(String)

Inhaltsanbieter sind einer der wichtigsten Bausteine von Android-Anwendungen, die Inhalte für Anwendungen bereitstellen.

SetWritePermission(String)

Inhaltsanbieter sind einer der wichtigsten Bausteine von Android-Anwendungen, die Inhalte für Anwendungen bereitstellen.

Shutdown()

Implementieren Sie dies, um die ContentProvider-Instanz herunterzufahren.

ToArray<T>()

Inhaltsanbieter sind einer der wichtigsten Bausteine von Android-Anwendungen, die Inhalte für Anwendungen bereitstellen.

(Geerbt von Object)
ToString()

Gibt eine Zeichenfolgendarstellung des Objekts zurück.

(Geerbt von Object)
Uncanonicalize(Uri)

Entfernen Sie kanonische UrIs, die zuvor von #canonicalize.

UnregisterFromRuntime()

Inhaltsanbieter sind einer der wichtigsten Bausteine von Android-Anwendungen, die Inhalte für Anwendungen bereitstellen.

(Geerbt von Object)
Update(Uri, ContentValues, Bundle)

Implementieren Sie dies, um Anforderungen zum Aktualisieren einer oder mehrerer Zeilen zu verarbeiten.

Update(Uri, ContentValues, String, String[])

Implementieren Sie dies, um Anforderungen zum Aktualisieren einer oder mehrerer Zeilen zu verarbeiten.

Wait()

Bewirkt, dass der aktuelle Thread wartet, bis er wach ist, in der Regel durch em benachrichtigt/em> oder <em>unterbrochen</em>.<><

(Geerbt von Object)
Wait(Int64, Int32)

Bewirkt, dass der aktuelle Thread wartet, bis er wach ist, in der Regel durch <em>benachrichtigt</em> oder <em>unterbrochen</em> oder bis eine bestimmte Menge an Echtzeit verstrichen ist.

(Geerbt von Object)
Wait(Int64)

Bewirkt, dass der aktuelle Thread wartet, bis er wach ist, in der Regel durch <em>benachrichtigt</em> oder <em>unterbrochen</em> oder bis eine bestimmte Menge an Echtzeit verstrichen ist.

(Geerbt von Object)

Explizite Schnittstellenimplementierungen

Name Beschreibung
IJavaPeerable.Disposed()

Inhaltsanbieter sind einer der wichtigsten Bausteine von Android-Anwendungen, die Inhalte für Anwendungen bereitstellen.

(Geerbt von Object)
IJavaPeerable.DisposeUnlessReferenced()

Inhaltsanbieter sind einer der wichtigsten Bausteine von Android-Anwendungen, die Inhalte für Anwendungen bereitstellen.

(Geerbt von Object)
IJavaPeerable.Finalized()

Inhaltsanbieter sind einer der wichtigsten Bausteine von Android-Anwendungen, die Inhalte für Anwendungen bereitstellen.

(Geerbt von Object)
IJavaPeerable.JniManagedPeerState

Inhaltsanbieter sind einer der wichtigsten Bausteine von Android-Anwendungen, die Inhalte für Anwendungen bereitstellen.

(Geerbt von Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Inhaltsanbieter sind einer der wichtigsten Bausteine von Android-Anwendungen, die Inhalte für Anwendungen bereitstellen.

(Geerbt von Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Inhaltsanbieter sind einer der wichtigsten Bausteine von Android-Anwendungen, die Inhalte für Anwendungen bereitstellen.

(Geerbt von Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

Inhaltsanbieter sind einer der wichtigsten Bausteine von Android-Anwendungen, die Inhalte für Anwendungen bereitstellen.

(Geerbt von Object)

Erweiterungsmethoden

Name Beschreibung
GetJniTypeName(IJavaPeerable)

Ruft den JNI-Namen des Typs der Instanz selfab.

JavaAs<TResult>(IJavaPeerable)

Versuchen Sie, die Eingabe TResultzu self erzwingen, und überprüfen Sie, ob die Koersion auf der Java Seite gültig ist.

JavaCast<TResult>(IJavaObject)

Führt eine android-laufzeitgecheckte Typkonvertierung aus.

JavaCast<TResult>(IJavaObject)

Inhaltsanbieter sind einer der wichtigsten Bausteine von Android-Anwendungen, die Inhalte für Anwendungen bereitstellen.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Versuchen Sie, die Eingabe TResultzu self erzwingen, und überprüfen Sie, ob die Koersion auf der Java Seite gültig ist.

Gilt für: